Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Even though thread groups are useful for keeping threads organized, programmers seldom benefit from their use because many of the methods of the ThreadGroup class (for example, allowThreadSuspension(), resume(), stop(), and suspend()) are deprecated. Furthermore, many nondeprecated methods are obsolete in that they offer little desirable functionality. Ironically, a few ThreadGroup methods are not even thread-safe [Bloch 2001].

Insecure yet non-deprecated nondeprecated methods include

  • ThreadGroup.activeCount()
    According to the Java API [API 2014], the activeCount() method

    returns an estimate of the number of active threads in the current thread's thread group and its subgroups.

    This method is often used as a precursor to thread enumeration. Threads that have never started nevertheless reside in the thread group and are considered to be active. The active count is also affected by the presence of certain system threads [API 2014]. Consequently, the activeCount() method might fail to reflect the actual number of running tasks in the thread group.

...