This class represents a group of threads and allows that group to be manipulated as a whole. A ThreadGroup can contain THRead objects, as well as other child ThreadGroup objects. All ThreadGroup objects are created as children of some other THReadGroup , and thus there is a parent/child hierarchy of ThreadGroup objects. Use getParent( ) to obtain the parent ThreadGroup , and use activeCount( ) , activeGroupCount( ) , and the various enumerate( ) methods to list the child Thread and THReadGroup objects. Most applications can simply rely on the default system thread group. System-level code and applications such as servers that need to create a large number of threads may find it convenient to create their own THReadGroup objects, however. interrupt( ) interrupts all threads in the group at once. setMaxPriority( ) specifies the maximum priority any thread in the group can have. checkAccess( ) checks whether the calling thread has permission to modify the given thread group. The method throws a SecurityException if the current thread does not have access. uncaughtException( ) contains the code that is run when a thread terminates because of an uncaught exception or error. You can customize this method by subclassing ThreadGroup . Figure 10-65. java.lang.ThreadGrouppublic class ThreadGroup implements Thread.UncaughtExceptionHandler { // Public Constructors public ThreadGroup (String name ); public ThreadGroup (ThreadGroup parent , String name ); // Public Instance Methods public int activeCount ( ); public int activeGroupCount ( ); public final void checkAccess ( ); public final void destroy ( ); public int enumerate (ThreadGroup[ ] list ); public int enumerate (Thread[ ] list ); public int enumerate (Thread[ ] list , boolean recurse ); public int enumerate (ThreadGroup[ ] list , boolean recurse ); public final int getMaxPriority ( ); public final String getName ( ); public final ThreadGroup getParent ( ); 1.2 public final void interrupt ( ); public final boolean isDaemon ( ); 1.1 public boolean isDestroyed ( ); synchronized public void list ( ); public final boolean parentOf (ThreadGroup g ); public final void setDaemon (boolean daemon ); public final void setMaxPriority (int pri ); public void uncaughtException (Thread t , Throwable e ); Implements: Thread.UncaughtExceptionHandler // Methods Implementing Thread.UncaughtExceptionHandler public void uncaughtException (Thread t , Throwable e ); // Public Methods Overriding Object public String toString ( ); // Deprecated Public Methods 1.1# public boolean allowThreadSuspension (boolean b ); # public final void resume ( ); # public final void stop ( ); # public final void suspend ( ); } Passed ToSecurityManager.checkAccess( ) , THRead.Thread( ) Returned BySecurityManager.getThreadGroup( ) , THRead.getThreadGroup( ) |