本篇文章为你整理了ThreadGroup (Java SE 9 & JDK 9 )()的详细内容,包含有 ThreadGroup (Java SE 9 & JDK 9 ),希望能帮助你了解 ThreadGroup (Java SE 9 & JDK 9 )。
public class ThreadGroup
extends Object
implements Thread.UncaughtExceptionHandler
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 groups
parent thread group or any other thread groups.
Since:
Returns an estimate of the number of active threads in this thread
group and its subgroups.
activeGroupCount ()
Returns an estimate of the number of active groups in this
thread group and its subgroups.
boolean
allowThreadSuspension (booleanb)
Deprecated.
The definition of this call depends on suspend(),
which is deprecated. Further, the behavior of this call
was never specified.
enumerate (Thread[]list)
Copies into the specified array every active thread in this
thread group and its subgroups.
enumerate (Thread[]list,
booleanrecurse)
Copies into the specified array every active thread in this
thread group.
enumerate (ThreadGroup[]list)
Copies into the specified array references to every active
subgroup in this thread group and its subgroups.
enumerate (ThreadGroup[]list,
booleanrecurse)
Copies into the specified array references to every active
subgroup in this thread group.
boolean
parentOf (ThreadGroupg)
Tests if this thread group is either the thread group
argument or one of its ancestor thread groups.
Thread.suspend and ThreadGroup.suspend,
both of which have been deprecated, as they are inherently
deadlock-prone. See Thread.suspend() for details.
setDaemon (booleandaemon)
Changes the daemon status of this thread group.
setMaxPriority (intpri)
Sets the maximum priority of the group.
This method is inherently unsafe. See
Thread.stop() for details.
This method is inherently deadlock-prone. See
Thread.suspend() for details.
ThreadGroup
publicThreadGroup (Stringname)
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.
Parameters:
name - the name of the new thread group.
Throws:
SecurityException - if the current thread cannot create a
thread in the specified thread group.
Since:
See Also:
checkAccess()
ThreadGroup
publicThreadGroup (ThreadGroupparent,
Stringname)
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.
Parameters:
parent - the parent thread group.
name - the name of the new thread group.
Throws:
NullPointerException - if the thread group argument is
null.
SecurityException - if the current thread cannot create a
thread in the specified thread group.
Since:
See Also:
SecurityException,
checkAccess()
getName
public finalStringgetName ()
Returns the name of this thread group.
Returns:
the name of this thread group.
Since:
getParent
public finalThreadGroupgetParent ()
Returns the parent of this thread group.
First, if the parent is not null, the
checkAccess method of the parent thread group is
called with no arguments; this may result in a security exception.
Returns:
the parent of this thread group. The top-level thread group
is the only thread group whose parent is null.
Throws:
SecurityException - if the current thread cannot modify
this thread group.
Since:
See Also:
checkAccess(),
SecurityException,
RuntimePermission
public finalintgetMaxPriority ()
Returns the maximum priority of this thread group. Threads that are
part of this group cannot have a higher priority than the maximum
priority.
Returns:
the maximum priority that a thread in this thread group
can have.
Since:
See Also:
setMaxPriority(int)
public finalbooleanisDaemon ()
Tests if this thread group is a daemon thread group. A
daemon 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 daemon thread group;
false otherwise.
Since:
publicbooleanisDestroyed ()
Tests if this thread group has been destroyed.
Returns:
true if this object is destroyed
Since:
public finalvoidsetDaemon (booleandaemon)
Changes the daemon status of this thread group.
First, the checkAccess method of this thread group is
called with no arguments; this may result in a security exception.
A daemon 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 daemon thread group; otherwise, marks this
thread group as normal.
Throws:
SecurityException - if the current thread cannot modify
this thread group.
Since:
See Also:
SecurityException,
checkAccess()
public finalvoidsetMaxPriority (intpri)
Sets the maximum priority of the group. Threads in the thread
group that already have a higher priority are not affected.
First, the checkAccess method of this thread group is
called with no arguments; this may result in a security exception.
If the pri argument is less than
Thread.MIN_PRIORITY or greater than
Thread.MAX_PRIORITY, the maximum priority of the group
remains unchanged.
Otherwise, the priority of this ThreadGroup object is set to the
smaller of the specified pri and the maximum permitted
priority of the parent of this thread group. (If this thread group
is the system thread group, which has no parent, then its maximum
priority is simply set to pri.) Then this method is
called recursively, with pri as its argument, for
every thread group that belongs to this thread group.
Parameters:
pri - the new priority of the thread group.
Throws:
SecurityException - if the current thread cannot modify
this thread group.
Since:
See Also:
getMaxPriority(),
SecurityException,
checkAccess()
parentOf
public finalbooleanparentOf (ThreadGroupg)
Tests 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.
Since:
public finalvoidcheckAccess ()
Determines if the currently running thread has permission to
modify this thread group.
If there is a security manager, its checkAccess method
is called with this thread group as its argument. This may result
in throwing a SecurityException.
Throws:
SecurityException - if the current thread is not allowed to
access this thread group.
Since:
See Also:
SecurityManager.checkAccess(java.lang.ThreadGroup)
publicintactiveCount ()
Returns an estimate of the number of active threads in this thread
group and its subgroups. Recursively iterates over all subgroups in
this thread group.
The value returned is only an estimate because the number of
threads may change dynamically while this method traverses internal
data structures, and might be affected by the presence of certain
system threads. This method is intended primarily for debugging
and monitoring purposes.
Returns:
an estimate of the number of active threads in this thread
group and in any other thread group that has this thread
group as an ancestor
Since:
enumerate
publicintenumerate (Thread[]list)
Copies into the specified array every active thread in this
thread group and its subgroups.
An invocation of this method behaves in exactly the same
way as the invocation
enumerate
publicintenumerate (Thread[]list,
booleanrecurse)
Copies into the specified array every active thread in this
thread group. If recurse is true,
this method recursively enumerates all subgroups of this
thread group and references to every active thread in these
subgroups are also included. If the array is too short to
hold all the threads, the extra threads are silently ignored.
An application might use the activeCount
method to get an estimate of how big the array should be, however
if the array is too short to hold all the threads, the extra threads
are silently ignored. If it is critical to obtain every active
thread in this thread group, the caller should verify that the returned
int value is strictly less than the length of list.
Due to the inherent race condition in this method, it is recommended
that the method only be used for debugging and monitoring purposes.
Parameters:
list - an array into which to put the list of threads
recurse - if true, recursively enumerate all subgroups of this
thread group
Returns:
the number of threads put into the array
Throws:
SecurityException - if checkAccess determines that
the current thread cannot access this thread group
Since:
publicintactiveGroupCount ()
Returns an estimate of the number of active groups in this
thread group and its subgroups. Recursively iterates over
all subgroups in this thread group.
The value returned is only an estimate because the number of
thread groups may change dynamically while this method traverses
internal data structures. This method is intended primarily for
debugging and monitoring purposes.
Returns:
the number of active thread groups with this thread group as
an ancestor
Since:
enumerate
publicintenumerate (ThreadGroup[]list)
Copies into the specified array references to every active
subgroup in this thread group and its subgroups.
An invocation of this method behaves in exactly the same
way as the invocation
enumerate
publicintenumerate (ThreadGroup[]list,
booleanrecurse)
Copies into the specified array references to every active
subgroup in this thread group. If recurse is
true, this method recursively enumerates all subgroups of this
thread group and references to every active thread group in these
subgroups are also included.
An application might use the
activeGroupCount method to
get an estimate of how big the array should be, however if the
array is too short to hold all the thread groups, the extra thread
groups are silently ignored. If it is critical to obtain every
active subgroup in this thread group, the caller should verify that
the returned int value is strictly less than the length of
list.
Due to the inherent race condition in this method, it is recommended
that the method only be used for debugging and monitoring purposes.
Parameters:
list - an array into which to put the list of thread groups
recurse - if true, recursively enumerate all subgroups
Returns:
the number of thread groups put into the array
Throws:
SecurityException - if checkAccess determines that
the current thread cannot access this thread group
Since:
@Deprecated(since="1.2")
public finalvoidstop ()
Deprecated.This method is inherently unsafe. See
Thread.stop() for details.
Stops all threads in this thread group.
First, the checkAccess method of this thread group is
called with no arguments; this may result in a security exception.
This method then calls the stop method on all the
threads in this thread group and in all of its subgroups.
Throws:
SecurityException - if the current thread is not allowed
to access this thread group or any of the threads in
the thread group.
Since:
See Also:
SecurityException,
Thread.stop(),
checkAccess()
public finalvoidinterrupt ()
Interrupts all threads in this thread group.
First, the checkAccess method of this thread group is
called with no arguments; this may result in a security exception.
This method then calls the interrupt method on all the
threads in this thread group and in all of its subgroups.
Throws:
SecurityException - if the current thread is not allowed
to access this thread group or any of the threads in
the thread group.
Since:
See Also:
Thread.interrupt(),
SecurityException,
checkAccess()
suspend
@Deprecated(since="1.2")
public finalvoidsuspend ()
Deprecated.This method is inherently deadlock-prone. See
Thread.suspend() for details.
Suspends all threads in this thread group.
First, the checkAccess method of this thread group is
called with no arguments; this may result in a security exception.
This method then calls the suspend method on all the
threads in this thread group and in all of its subgroups.
Throws:
SecurityException - if the current thread is not allowed
to access this thread group or any of the threads in
the thread group.
Since:
See Also:
Thread.suspend(),
SecurityException,
checkAccess()
resume
@Deprecated(since="1.2")
public finalvoidresume ()
Deprecated.This method is used solely in conjunction with
Thread.suspend and ThreadGroup.suspend,
both of which have been deprecated, as they are inherently
deadlock-prone. See Thread.suspend() for details.
Resumes all threads in this thread group.
First, the checkAccess method of this thread group is
called with no arguments; this may result in a security exception.
This method then calls the resume method on all the
threads in this thread group and in all of its sub groups.
Throws:
SecurityException - if the current thread is not allowed to
access this thread group or any of the threads in the
thread group.
Since:
See Also:
SecurityException,
Thread.resume(),
checkAccess()
public finalvoiddestroy ()
Destroys this thread group and all of its subgroups. This thread
group must be empty, indicating that all threads that had been in
this thread group have since stopped.
First, the checkAccess method of this thread group is
called with no arguments; this may result in a security exception.
Throws:
IllegalThreadStateException - if the thread group is not
empty or if the thread group has already been destroyed.
SecurityException - if the current thread cannot modify this
thread group.
Since:
See Also:
checkAccess()
publicvoidlist ()
Prints information about this thread group to the standard
output. This method is useful only for debugging.
Since:
uncaughtException
publicvoiduncaughtException (Threadt,
Throwablee)
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.
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 checks to see if there is a
default uncaught exception handler installed, and if so, its
uncaughtException method is called with the same
two arguments.
Otherwise, this method determines if the Throwable
argument is an instance of ThreadDeath. If so, nothing
special is done. Otherwise, a message containing the
threads name, as returned from the threads getName method, and a stack backtrace,
using the Throwables printStackTrace method, is
printed to the standard error stream.
Applications can override this method in subclasses of
ThreadGroup to provide alternative handling of
uncaught exceptions.
Specified by:
uncaughtExceptionin interfaceThread.UncaughtExceptionHandler
Parameters:
t - the thread that is about to exit.
e - the uncaught exception.
Since:
allowThreadSuspension
@Deprecated(since="1.2")
publicbooleanallowThreadSuspension (booleanb)
Deprecated.The definition of this call depends on suspend(),
which is deprecated. Further, the behavior of this call
was never specified.
Used by VM to control lowmem implicit suspension.
Parameters:
b - boolean to allow or disallow suspension
Returns:
true on success
Since:
Scripting on this page tracks web page traffic, but does not change the content in any way.
以上就是ThreadGroup (Java SE 9 & JDK 9 )()的详细内容,想要了解更多 ThreadGroup (Java SE 9 & JDK 9 )的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。