ThreadStartRequest (Java SE 23 & JDK 23)
Description: declaration: module: jdk.jdi, package: com.sun.jdi.request, interface: ThreadStartRequest
Keywords: com.sun.jdi.request.ThreadStartRequest interface

# Interface ThreadStartRequest

All Superinterfaces:
  `EventRequest`, `Mirror`

public interface ThreadStartRequest extends EventRequest
Request for notification when a thread starts execution in the target VM. When an enabled ThreadStartRequest is hit, an `event set` containing a `ThreadStartEvent` will be placed on the `EventQueue`. The collection of existing ThreadStartRequests is managed by the `EventRequestManager`

Since:
  1.3
See Also:
  - `ThreadStartEvent`
  - `EventQueue`
  - `EventRequestManager`

- ## Field Summary

  ### Fields declared in interface com.sun.jdi.request.EventRequest

  `SUSPEND_ALL, SUSPEND_EVENT_THREAD, SUSPEND_NONE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default void`
  `addPlatformThreadsOnlyFilter()`
  Restricts the events generated by this request to only platform threads.
  `void`
  `addThreadFilter(ThreadReference thread)`
  Restricts the events generated by this request to those in the given thread.

  ### Methods declared in interface com.sun.jdi.request.EventRequest

  `addCountFilter, disable, enable, getProperty, isEnabled, putProperty, setEnabled, setSuspendPolicy, suspendPolicy`

  ### Methods declared in interface com.sun.jdi.Mirror

  `toString, virtualMachine`

- ## Method Details

  - ### addThreadFilter

    void addThreadFilter(ThreadReference thread)
    Restricts the events generated by this request to those in the given thread.
    Parameters:
      `thread` - the thread to filter on.
    Throws:
      `InvalidRequestStateException` - if this request is currently enabled or has been deleted. Filters may be added only to disabled requests.

  - ### addPlatformThreadsOnlyFilter

    default void addPlatformThreadsOnlyFilter()
    Restricts the events generated by this request to only platform threads.
    Implementation Requirements:
      The default implementation throws `UnsupportedOperationException`.
    Throws:
      `InvalidRequestStateException` - if this request is currently enabled or has been deleted
    Since:
      21