What defines an "active" thread?

concurrency, java

Solution

From what I can tell the term 'active' seems to be used a lot but not ever defined. The `ThreadGroup.enumerate()` method is documented to:

Copies into the specified array every active thread in this thread group and its subgroups.

and from looking at the source for this, it is checking the `Thread.isAlive()` method and adding those to the enumerable. From this I deduce that the terms 'active' and 'alive' are interchangeable and 'alive' is defined as:

A thread is alive if it has been started and has not yet died.

Problem

In Java concurrency, what makes a thread "active"? Just the fact that it's not idling? Is a "waiting" or "suspended" thread still considered, technically, active?

Original source

Related problems