Thread group in java
The java.lang.ThreadGroup class provides the facility to create the thread group. Thread group provides a way to group multiple threads in a single unit. In this way, multiple threads can be suspended, resume or interrupted as a single unit.
ThreadGroup class constructor
ThreadGroup(String name) : It creates a thread group with given name.
ThreadGroup(ThreadGroup parent, String name) : It creates a thread group with given parent group and name.
Note:
- A thread is can access the information about its own thread group but cannot access information about its thread group’s parent thread group or any other thread group.
- A thread group creates a tree in which every thread group except the initial thread group has a parent.
Example
public class ThreadGroupTest implements Runnable{ public void run() { System.out.println(Thread.currentThread().getName()); } public static void main(String[] args) { ThreadGroupTest threadGroupTest = new ThreadGroupTest(); ThreadGroup threadGroup = new ThreadGroup("Parent Thread Group"); Thread t1 = new Thread(threadGroup, threadGroupTest,"T1"); t1.start(); Thread t2 = new Thread(threadGroup, threadGroupTest,"T2"); t2.start(); Thread t3 = new Thread(threadGroup, threadGroupTest,"T3"); t3.start(); System.out.println("Thread Group Name: "+threadGroup.getName()); threadGroup.list(); } } |
Output
T1 T2 Thread Group Name: Parent Thread Group T3 java.lang.ThreadGroup[name=Parent Thread Group,maxpri=10] Thread[T3,5,Parent Thread Group] |