91 Java - ThreadGroup Class
ThreadGroup Class
The Java ThreadGroup class represents a set of threads. It can also include other thread groups. The thread groups form a tree in which every thread group except the initial thread group has a parent.
ThreadGroup Class Declaration
Following is the declaration for java.lang.ThreadGroup class −
public class ThreadGroup extends Object implements Thread.UncaughtExceptionHandler
ThreadGroup Class Constructors
| Sr.No. | Constructor & Description |
|---|---|
| 1 | ThreadGroup(String name) This constructs a new thread group. |
| 2 | ThreadGroup(ThreadGroup parent, String name) This creates a new thread group. |
ThreadGroup Class Methods
| Sr.No. | Method & Description |
|---|---|
| 1 | int activeCount() This method returns an estimate of the number of active threads in this thread group. |
| 2 | int activeGroupCount() This method returns an estimate of the number of active groups in this thread group. |
| 3 | void checkAccess() This method determines if the currently running thread has permission to modify this thread group. |
| 4 | void destroy() This method Destroys this thread group and all of its subgroups. |
| 5 | int enumerate(Thread[] list) This method copies into the specified array every active thread in this thread group and its subgroups. |
| 6 | int enumerate(Thread[] list, boolean recurse) This method copies into the specified array every active thread in this thread group. |
| 7 | int enumerate(ThreadGroup[] list) This method copies into the specified array references to every active subgroup in this thread group. |
| 8 | int enumerate(ThreadGroup[] list, boolean recurse) This method copies into the specified array references to every active subgroup in this thread group. |
| 9 | int getMaxPriority() This method returns the maximum priority of this thread group. |
| 10 | String getName() This method returns the name of this thread group. |
| 11 | ThreadGroup getParent() This method returns the parent of this thread group. |
| 12 | void interrupt() This method interrupts all threads in this thread group. |
| 13 | boolean isDaemon() This method Tests if this thread group is a daemon thread group. |
| 14 | boolean isDestroyed() This method tests if this thread group has been destroyed. |
| 15 | void list() This method prints information about this thread group to the standard output. |
| 16 | boolean parentOf(ThreadGroup g) This method tests if this thread group is either the thread group argument or one of its ancestor thread groups. |
| 17 | void setDaemon(boolean daemon) This method changes the daemon status of this thread group. |
| 18 | void setMaxPriority(int pri) This method sets the maximum priority of the group. |
| 19 | String toString() This method returns a string representation of this Thread group. |
| 20 | void uncaughtException(Thread t, Throwable e) This method called by the Java Virtual Machine when a thread in this thread group stops because of an uncaught exception, and the thread does not have a specific Thread.UncaughtExceptionHandler installed. |
Methods Inherited
This class inherits methods from the following classes −
- java.lang.Object
Example of ThreadGroup Class in Java
Following example showcases the usage of ThreadGroup in a multithreaded program.
Output
Let us compile and run the above program, this will produce the following result −
Starting Thread-0... Starting Thread-1... Thread-0 finished executing. Active threads in "Parent ThreadGroup" = 1 Thread-1 finished executing.

Comments
Post a Comment