## 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` | 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` | MonitorContendedEnterEvent.`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` | LocatableEvent.`thread()` Returns the thread in which this event has occurred.
    `ThreadReference` | MonitorWaitedEvent.`thread()` Returns the thread in which this event has occurred.
    `ThreadReference` | ThreadDeathEvent.`thread()` Returns the thread which is terminating.

  - ### 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` | WatchpointRequest.`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.
    `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` | 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` | MethodExitRequest.`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` | 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` | ThreadStartRequest.`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`.

Copyright © 1999, 2026, Oracle and/or its affiliates. All rights reserved.