Packages This Package Prev Next Index
§1.20 Class ThreadGroup
public class java.lang.ThreadGroup
extends java.lang.Object (I-§1.12)
{
// Constructors
public ThreadGroup(String name); §1.20.1
public ThreadGroup(ThreadGroup parent, String name); §1.20.2
// Methods
public int activeCount(); §1.20.3
public int activeGroupCount(); §1.20.4
public final void checkAccess(); §1.20.5
public final void destroy(); §1.20.6
public int enumerate(Thread list[]); §1.20.7
public int enumerate(Thread list[], boolean recurse); §1.20.8
public int enumerate(ThreadGroup list[]); §1.20.9
public int enumerate(ThreadGroup list[], boolean recurse); §1.20.10
public final int getMaxPriority(); §1.20.11
public final String getName(); §1.20.12
public final ThreadGroup getParent(); §1.20.13
public final boolean isDaemon(); §1.20.14
public void list(); §1.20.15
public final boolean parentOf(ThreadGroup g); §1.20.16
public final void resume(); §1.20.17
public final void setDaemon(boolean daemon); §1.20.18
public final void setMaxPriority(int pri); §1.20.19
public final void stop(); §1.20.20
public final void suspend(); §1.20.21
public String toString(); §1.20.22
public void uncaughtException(Thread t, Throwable e); §1.20.23
}
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 has a parent.
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.
ThreadGroup
public ThreadGroup(String name)
- Constructs a new thread group, whose parent is the thread group of the
currently running thread.
- Parameters:
name
-
the name of the new thread group
ThreadGroup
public ThreadGroup(ThreadGroup parent, String name)
- Creates a new thread group whose parent is the specified thread group.
- The checkAccess method (I-§1.20.5) of the parent thread group is called with
no arguments; this may result in a security exception(I-§1.43).
- Parameters:
parent
-
the parent thread group
name
-
the name of the new thread group
- Throws
- NullPointerException (I-§1.40)
- If the thread group argument is null.
- Throws
- SecurityException (I-§1.43)
- If the current thread cannot create a thread in the specified thread
group.
activeCount
public int activeCount()
- Returns:
- The number of active threads in this thread group and in any other
thread group that has this thread group as an ancestor.
activeGroupCount
public int activeGroupCount()
- Returns:
- The number of active thread groups with this thread group as an
ancestor.
checkAccess
public final void checkAccess()
- Determines if the currently running thread has permission to modify this
thread group.
- If there is a security manager, its checkAccess method (I-§1.15.5) is called
with this thread group as its argument. This may result in throwing a SecurityException.
- Throws
- SecurityException (I-§1.43)
- If the current thread is not allowed to access this thread group.
destroy
public final void destroy()
- Destroys this thread group and all of its sub-groups. This thread group
must be empty, indicating that all threads that had been in this thread
group have since stopped.
- Throws
- IllegalThreadStateException (I-§1.34)
- If the thread group is not empty or if the thread group has already
destroyed.
- Throws
- SecurityException (I-§1.43)
- If the current thread cannot modify this thread group.
enumerate
public int enumerate(Thread list[])
- Copies into the specified array every active thread in this thread group and
its sub-groups.
- An application should use the activeCount method (I-§1.20.3) to get an estimate of how big the array should be. If the array is too short to hold all the
threads, the extra threads are silently ignored.
- Parameters:
list
-
an array into which to place the list of threads
- Returns:
- the number of threads put into the array
enumerate
public int enumerate(Thread list[], boolean recurse)
- Copies into the specified array every active thread in this thread group. If
the recurse flag is true references to every active thread in this thread's sub-
groups are also included. If the array is too short to hold all the threads, the
extra threads are silently ignored.
- An application should use the activeCount method (I-§1.20.3) to get an estimate of how big the array should be.
- Parameters:
list
-
an array into which to place the list of threads
recurse
-
flag indicating whether to also include threads in sub-thread
groups.
- Returns:
- the number of threads placed into the array.
enumerate
public int enumerate(ThreadGroup list[])
- Copies into the specified array references to every active sub-group in this
thread group.
- An application should use the activeGroupCount method (I-§1.20.4) to get an
estimate of how big the array should be. If the array is too short to hold all
the thread groups, the extra thread groups are silently ignored.
- Parameters:
list
-
an array into which to place the list of thread groups
- Returns:
- the number of thread groups put into the array
enumerate
public int enumerate(ThreadGroup list[], boolean recurse)
- Copies into the specified array references to every active sub-group in this
thread group. If the recurse flag is true references to every active, all sub-
thread groups of the sub-thread groups and so forth are also included.
- An application should use the activeGroupCount method (I-§1.20.4) to get an
estimate of how big the array should be.
- Parameters:
list
-
an array into which to place the list of threads
recurse
-
flag indicating whether to recursively enumerate all included
thread groups.
- Returns:
- the number of thread groups put into the array.
getMaxPriority
public final int getMaxPriority()
- Returns:
- the maximum priority that a thread in this thread group can have.
getName
public final String getName()
- Returns:
- the name of this thread group.
getParent
public final ThreadGroup getParent()
- Returns:
- the parent of this thread group. The top-level thread group is the only
thread group whose parent is null.
isDaemon
public final boolean isDaemon()
- Determines if this thread group is a dæmon thread group. A dæmon thread
group is automatically destroyed when its last thread is stopped or its last
thread group is destroyed.
- Returns:
- true if this thread group is a dæmon thread group; false otherwise.
list
public void list()
- Prints information about this thread group to the standard output. This
method is useful only for debugging.
parentOf
public final boolean parentOf(ThreadGroup g)
- Determines if this thread group is either the thread group argument or one
of its ancestor thread groups.
- Parameters:
g
-
a thread group
- Returns:
- true if this thread group is the thread group argument or one of its
ancestor thread groups; false otherwise.
resume
public final void resume()
- Resumes all processes in this thread group.
- First, the checkAccess method (I-§1.20.5) of this thread group is called with
no arguments; this may result in a security exception(I-§1.43).
- This method then calls the resume method (I-§1.19.29) on all the threads in
this thread group and in all of its sub-thread groups.
- Throws
- SecurityException (I-§1.43)
- If the current thread is not allowed to access this thread group or any
of the threads in the thread group.
setDaemon
public final void setDaemon(boolean daemon)
- Sets whether this thread group is a dæmon thread group.
- First, the checkAccess method (I-§1.20.5) of this thread group is called with
no arguments; this may result in a security exception(I-§1.43).
- Marks whether this thread is a dæmon thread group. A dæmon thread
group is automatically destroyed when its last thread is stopped or its last
thread group is destroyed.
- Parameters:
daemon
-
if true, marks this thread group as a dæmon thread group;
otherwise, marks this thread group as normal.
- Throws
- SecurityException (I-§1.43)
- If the current thread cannot modify this thread.
setMaxPriority
public final void setMaxPriority(int pri)
- Sets the maximum priority of the group.
- First, the checkAccess method (I-§1.20.5) of this thread group is called with
no arguments; this may result in a security exception (I-§1.43).
- Threads in the thread group that already have a higher priority are not
affected.
- Parameters:
pri
-
the new priority of the Thread group
- Throws
- SecurityException (I-§1.43)
- If the current thread cannot modify this thread group.
stop
public final void stop()
- Stops all processes in this thread group.
- First, the checkAccess method (I-§1.20.5) of this thread group is called with
no arguments; this may result in a security exception(I-§1.43).
- This method then calls the stop method (I-§1.19.37) on all the threads in
this thread group and in all of its sub-thread groups.
- Throws
- SecurityException (I-§1.43)
- If the current thread is not allowed to access this thread group or any
of the threads in the thread group.
suspend
public final void suspend()
- Suspends all processes in this thread group.
- First, the checkAccess method (I-§1.20.5) of this thread group is called with
no arguments; this may result in a security exception(I-§1.43).
- This method then calls the suspend method (I-§1.19.39) on all the threads
in this thread group and in all of its sub-thread groups.
- Throws
- SecurityException (I-§1.43)
- If the current thread is not allowed to access this thread group or any
of the threads in the thread group.
toString
public String toString()
- Returns:
- a string representation of this thread group.
- Overrides:
- toString in class Object (I-§1.12.9).
uncaughtException
public void uncaughtException(Thread t, Throwable e)
- The Java Virtual Machine calls this method when a thread in this thread
group stops because of an uncaught exception.
- The uncaughtException method of ThreadGroup does the following:
- If this thread group has a parent thread group, the uncaughtException method
of that parent is called with the same two arguments.
- Otherwise, this method determines if the Throwable argument is an instance
of ThreadDeath (I-§1.59). If so, nothing special is done.. Otherwise, the
Throwable's printStackTrace method (I-§1.21.6) is called to print a stack back
trace to the standard error stream (I-§1.18.1).
- Applications can override this method in subclasses of ThreadGroup to provide alternative handling of uncaught exceptions.
- Parameters:
t
-
the thread that is about to exit
e
-
the uncaught exception
Packages This Package Prev Next Index
Java API Document (HTML generated by dkramer on April 22, 1996)
Copyright © 1996 Sun Microsystems, Inc.
All rights reserved
Please send any comments or corrections to doug.kramer@sun.com