# Uses of Interface
com.sun.jdi.ThreadReference

Packages that use ThreadReference
Package | Description
--- | ---
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
Modifier and Type | Method | Description
--- | --- | ---
`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
Modifier and Type | Method | Description
--- | --- | ---
`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
Modifier and Type | Method | Description
--- | --- | ---
`Value` | ClassType.`invokeMethod​(ThreadReference thread, Method method, List<? extends Value> arguments, int options)` | Invokes the specified static `Method` in the target VM.
`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.
`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
Modifier and Type | Method | Description
--- | --- | ---
`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` | MonitorContendedEnterEvent.`thread()` | Returns the thread in which this event has occurred.
`ThreadReference` | MonitorWaitedEvent.`thread()` | Returns the thread in which this event has occurred.
`ThreadReference` | MonitorWaitEvent.`thread()` | Returns the thread in which monitor wait event has occurred.
`ThreadReference` | ThreadDeathEvent.`thread()` | Returns the thread which is terminating.
`ThreadReference` | ThreadStartEvent.`thread()` | Returns the thread which has started.
`ThreadReference` | VMStartEvent.`thread()` | Returns the initial thread of the VM which has started.

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

Methods in com.sun.jdi.request that return ThreadReference
Modifier and Type | Method | Description
--- | --- | ---
`ThreadReference` | StepRequest.`thread()` |

Methods in com.sun.jdi.request with parameters of type ThreadReference
Modifier and Type | Method | Description
--- | --- | ---
`void` | BreakpointRequest.`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` | MethodEntryRequest.`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` | MonitorContendedEnterRequest.`addThreadFilter​(ThreadReference thread)` | Restricts the events generated by this request to those in the given thread.
`void` | MonitorWaitedRequest.`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` | ThreadDeathRequest.`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` | WatchpointRequest.`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`.