A thread group represents a set of threads. In addition, a thread
group can also include other thread groups. The thread groups form
a tree in which every thread group except the initial thread group(i.e. main)
has a parent.Thread groups provide a mechanism for collecting multiple threads
into a single object and manipulating those threads all at
once, rather than individually.
If you not explicitly set the thread group during thread creation, the runtime system puts the new thread in some reasonable default group.
You cannot move a thread to a new group after the thread has been created.
A thread is allowed to access information about its own thread group, but not to access information about its thread group's parent thread group or any other thread groups.
The Default Thread Group
When a Java application first starts up, the Java runtime system creates a
Creating a Thread Explicitly in a Group
If you wish to put your new thread in a thread group other than the default, you must specify the thread group explicitly when you create the thread. The Thread class has three constructors that let you set a new thread's group:
public Thread(ThreadGroup group, Runnable target)
public Thread(ThreadGroup group,String name)
public Thread(ThreadGroup group, Runnable target,String name)
Each of these constructors creates a new thread within the specified thread group.See one example,
ThreadGroup group1 = new ThreadGroup("Threads Group1");
Thread thread1 = new Thread(group1, "a thread for group1");
java.lang.ThreadGroup class
Java thread groups are implemented by the
ThreadGroup object can be created using the following constructors
public ThreadGroup(String name)
Constructs a new thread group. The parent of this new group is the thread group of the currently running thread.The checkAccess method of the parent thread group is called with no arguments; this may result in a security exception.
public ThreadGroup(ThreadGroup parent,String name)
If you not explicitly set the thread group during thread creation, the runtime system puts the new thread in some reasonable default group.
You cannot move a thread to a new group after the thread has been created.
A thread is allowed to access information about its own thread group, but not to access information about its thread group's parent thread group or any other thread groups.
The Default Thread Group
If you create a new Thread without specifying its group in the constructor, the runtime system automatically places the new thread in the same group as the thread that created it.
When a Java application first starts up, the Java runtime system creates a
ThreadGroup
named main
. Unless specified otherwise, all new
threads that you create become members of the main
thread group.Creating a Thread Explicitly in a Group
If you wish to put your new thread in a thread group other than the default, you must specify the thread group explicitly when you create the thread. The Thread class has three constructors that let you set a new thread's group:
public Thread(ThreadGroup group, Runnable target)
public Thread(ThreadGroup group,String name)
public Thread(ThreadGroup group, Runnable target,String name)
Each of these constructors creates a new thread within the specified thread group.See one example,
ThreadGroup group1 = new ThreadGroup("Threads Group1");
Thread thread1 = new Thread(group1, "a thread for group1");
java.lang.ThreadGroup class
Java thread groups are implemented by the
ThreadGroup
class in the
java.lang
package.ThreadGroup object can be created using the following constructors
public ThreadGroup(String name)
Constructs a new thread group. The parent of this new group is the thread group of the currently running thread.The checkAccess method of the parent thread group is called with no arguments; this may result in a security exception.
public ThreadGroup(ThreadGroup parent,String name)
Creates a new thread group. The parent of this new group is the specified thread group.The checkAccess method of the parent thread group is called with no arguments; this may result in a security exception.
ThreadGroup
s can contain not only threads but also other ThreadGroup
s.
The top-most thread group in a Java application is the thread group named
main
. You can create threads and thread groups in the main
group. You
can also create threads and thread groups in subgroups of main
.
The result is a root-like hierarchy of threads and thread groups:
No comments:
Post a Comment