Interface ThreadGroupReference
- All Superinterfaces:
Mirror, ObjectReference, Value
A thread group object from the target VM.
A ThreadGroupReference is an
ObjectReference
with additional
access to threadgroup-specific information from the target VM.- Since:
- 1.3
-
Field Summary
Fields declared in interface ObjectReference
INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED
Modifier and TypeFieldDescriptionstatic final int
Perform non-virtual method invocationstatic final int
Perform method invocation with only the invoking thread resumed -
Method Summary
Modifier and TypeMethodDescriptionname()
Returns the name of this thread group.parent()
Returns the parent of this thread group.void
resume()
Resumes all threads in this thread group.void
suspend()
Suspends all threads in this thread group.Returns a List containing aThreadGroupReference
for each subgroup.threads()
Returns a List containing aThreadReference
for each live platform thread in this thread group.Methods declared in interface Mirror
toString, virtualMachine
Modifier and TypeMethodDescriptiontoString()
Returns a String describing this mirrorGets the VirtualMachine to which this Mirror belongs.Methods declared in interface ObjectReference
disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreads
Modifier and TypeMethodDescriptionvoid
Prevents garbage collection for this object.void
Permits garbage collection for this object.int
Returns the number of times this object's monitor has been entered by the current owning thread if the owning thread is platform thread; Returns 0 if not owned by a platform thread.boolean
Compares the specified Object with this ObjectReference for equality.Gets the value of a given instance or static field in this object.Gets the value of multiple instance and/or static fields in this object.int
hashCode()
Returns the hash code value for this ObjectReference.invokeMethod
(ThreadReference thread, Method method, List<? extends Value> arguments, int options) Invokes the specifiedMethod
on this object in the target VM.boolean
Determines if this object has been garbage collected in the target VM.Returns aThreadReference
for the platform thread, if any, which currently owns this object's monitor.Gets theReferenceType
that mirrors the type of this object.referringObjects
(long maxReferrers) Returns objects that directly reference this object.void
Sets the value of a given instance or static field in this object.long
uniqueID()
Returns a unique identifier for this ObjectReference.Returns a List containing aThreadReference
for each platform thread currently waiting for this object's monitor.
-
Method Details
-
name
String name()Returns the name of this thread group.- Returns:
- the string containing the thread group name.
-
parent
ThreadGroupReference parent()Returns the parent of this thread group.- Returns:
- a
ThreadGroupReference
mirroring the parent of this thread group in the target VM, or null if this is a top-level thread group.
-
suspend
void suspend()Suspends all threads in this thread group. Each thread in this group and in all of its subgroups will be suspended as described inThreadReference.suspend()
. This is not guaranteed to be an atomic operation; if the target VM is not interrupted at the time this method is called, it is possible that new threads will be created between the time that threads are enumerated and all of them have been suspended.- Throws:
VMCannotBeModifiedException
- if the VirtualMachine is read-only - seeVirtualMachine.canBeModified()
.
-
resume
void resume()Resumes all threads in this thread group. Each thread in this group and in all of its subgroups will be resumed as described inThreadReference.resume()
.- Throws:
VMCannotBeModifiedException
- if the VirtualMachine is read-only - seeVirtualMachine.canBeModified()
.
-
threads
List<ThreadReference> threads()Returns a List containing aThreadReference
for each live platform thread in this thread group. Virtual threads are not included. Only the live platform threads in this immediate thread group (and not its subgroups) are returned. A thread is alive if it has been started and has not terminated.- Returns:
- a List of
ThreadReference
objects mirroring the live platform threads from this thread group in the target VM.
-
threadGroups
List<ThreadGroupReference> threadGroups()Returns a List containing aThreadGroupReference
for each subgroup. Only the thread groups in this immediate thread group (and not its subgroups) are returned.- Returns:
- a List of
ThreadGroupReference
objects mirroring the thread groups from this thread group in the target VM.
-