## Uses of Interface
com.sun.jdi.ThreadReference

Packages that use ThreadReference
com.sun.jdi: This is the core package of the Java Debug Interface (JDI), it defines mirrors for values, types, and the target VirtualMachine itself - as well bootstrapping facilities.
com.sun.jdi.event: This package defines JDI events and event processing.
com.sun.jdi.request: This package is used to request that a JDI event be sent under specified conditions.

### Uses of ThreadReference in com.sun.jdi

Methods in com.sun.jdi that return ThreadReference
`ThreadReference` ObjectReference.`owningThread()` Returns an `ThreadReference` for the thread, if any, which currently owns this object's monitor.
`ThreadReference` MonitorInfo.`thread()` Returns a `ThreadReference` object for the thread that owns the monitor.
`ThreadReference` StackFrame.`thread()` Returns the thread under which this frame's method is running.

Methods in com.sun.jdi that return types with arguments of type ThreadReference
`List<ThreadReference>` VirtualMachine.`allThreads()` Returns a list of the currently running threads.
`List<ThreadReference>` ThreadGroupReference.`threads()` Returns a List containing a `ThreadReference` for each live thread in this thread group.
`List<ThreadReference>` ObjectReference.`waitingThreads()` Returns a List containing a `ThreadReference` for each thread currently waiting for this object's monitor.

Methods in com.sun.jdi with parameters of type ThreadReference
`default Value` InterfaceType.`invokeMethod(ThreadReference thread, Method method, List<? extends Value> arguments, int options)` Invokes the specified static `Method` in the target VM.
`Value` ObjectReference.`invokeMethod(ThreadReference thread, Method method, List<? extends Value> arguments, int options)` Invokes the specified `Method` on this object in the target VM.
`Value` ClassType.`invokeMethod(ThreadReference thread, Method method, List<? extends Value> arguments, int options)` Invokes the specified static `Method` in the target VM.
`ObjectReference` ClassType.`newInstance(ThreadReference thread, Method method, List<? extends Value> arguments, int options)` Constructs a new instance of this type, using the given constructor `Method` in the target VM.

### Uses of ThreadReference in com.sun.jdi.event

Methods in com.sun.jdi.event that return ThreadReference
`ThreadReference` MonitorWaitEvent.`thread()` Returns the thread in which monitor wait event has occurred.
`ThreadReference` VMStartEvent.`thread()` Returns the initial thread of the VM which has started.
`ThreadReference` ClassPrepareEvent.`thread()` Returns the thread in which this event has occurred.
`ThreadReference` LocatableEvent.`thread()` Returns the thread in which this event has occurred.
`ThreadReference` MonitorContendedEnteredEvent.`thread()` Returns the thread in which this event has occurred.
`ThreadReference` ThreadStartEvent.`thread()` Returns the thread which has started.
`ThreadReference` ThreadDeathEvent.`thread()` Returns the thread which is terminating.
`ThreadReference` MonitorContendedEnterEvent.`thread()` Returns the thread in which this event has occurred.
`ThreadReference` MonitorWaitedEvent.`thread()` Returns the thread in which this event has occurred.

### Uses of ThreadReference in com.sun.jdi.request

Methods in com.sun.jdi.request that return ThreadReference
`ThreadReference` StepRequest.`thread()`

Methods in com.sun.jdi.request with parameters of type ThreadReference
`void` MonitorWaitedRequest.`addThreadFilter(ThreadReference thread)` Restricts the events generated by this request to those in the given thread.
`void` ThreadStartRequest.`addThreadFilter(ThreadReference thread)` Restricts the events generated by this request to those in the given thread.
`void` MethodExitRequest.`addThreadFilter(ThreadReference thread)` Restricts the events generated by this request to those in the given thread.
`void` MonitorContendedEnteredRequest.`addThreadFilter(ThreadReference thread)` Restricts the events generated by this request to those in the given thread.
`void` WatchpointRequest.`addThreadFilter(ThreadReference thread)` Restricts the events generated by this request to those in the given thread.
`void` ExceptionRequest.`addThreadFilter(ThreadReference thread)` Restricts the events generated by this request to those in the given thread.
`void` ThreadDeathRequest.`addThreadFilter(ThreadReference thread)` Restricts the events generated by this request to those in the given thread.
`void` MonitorContendedEnterRequest.`addThreadFilter(ThreadReference thread)` Restricts the events generated by this request to those in the given thread.
`void` MonitorWaitRequest.`addThreadFilter(ThreadReference thread)` Restricts the events generated by this request to those in the given thread.
`void` MethodEntryRequest.`addThreadFilter(ThreadReference thread)` Restricts the events generated by this request to those in the given thread.
`void` BreakpointRequest.`addThreadFilter(ThreadReference thread)` Restricts the events generated by this request to those in the given thread.
`StepRequest` EventRequestManager.`createStepRequest(ThreadReference thread, int size, int depth)` Creates a new disabled `StepRequest`.