# Class RecordedThread

java.lang.Object
jdk.jfr.consumer.RecordedObject
jdk.jfr.consumer.RecordedThread

public final class RecordedThread extends RecordedObject
A recorded thread.

Since:
  9

## Method Summary

Modifier and Type
Method
Description
`long`
`getId()`
Returns a unique ID for both native threads and Java threads that can't be reused within the lifespan of the JVM.
`String`
`getJavaName()`
Returns the Java thread name, or `null` if doesn't exist.
`long`
`getJavaThreadId()`
Returns the Java thread ID, or `-1` if it's not a Java thread.
`String`
`getOSName()`
Returns the thread name used by the operating system.
`long`
`getOSThreadId()`
Returns the thread ID used by the operating system.
`RecordedThreadGroup`
`getThreadGroup()`
Returns the Java thread group, if available.
`boolean`
`isVirtual()`
Returns `true` if this is a virtual Thread, `false` otherwise.

### Methods declared in class RecordedObject

`getBoolean, getByte, getChar, getClass, getDouble, getDuration, getFields, getFloat, getInstant, getInt, getLong, getShort, getString, getThread, getValue, hasField, toString`

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Method Details

### getOSName

public String getOSName()
Returns the thread name used by the operating system.

Returns:
  the OS thread name, or `null` if doesn't exist

### getOSThreadId

public long getOSThreadId()
Returns the thread ID used by the operating system.

Returns:
  the OS thread ID, or `-1` if doesn't exist

### getThreadGroup

public RecordedThreadGroup getThreadGroup()
Returns the Java thread group, if available.

Returns:
  the thread group, or `null` if doesn't exist

### getJavaName

public String getJavaName()
Returns the Java thread name, or `null` if doesn't exist.

Returns `java.lang.Thread.getName()` if the thread has a Java representation. `null` otherwise.

Returns:
  the Java thread name, or `null` if doesn't exist

### getJavaThreadId

public long getJavaThreadId()
Returns the Java thread ID, or `-1` if it's not a Java thread.

Returns:
  the Java thread ID, or `-1` if it's not a Java thread
See Also:
  - `Thread.threadId()`

### getId

public long getId()
Returns a unique ID for both native threads and Java threads that can't be reused within the lifespan of the JVM.

See `getJavaThreadId()` for the ID that is returned by `java.lang.Thread.threadId()`.

See `getOSThreadId()` for the ID that is returned by the operating system.

Returns:
  a unique ID for the thread

### isVirtual

public boolean isVirtual()
Returns `true` if this is a virtual Thread, `false` otherwise.

Returns:
  `true` if this is a virtual Thread, `false` otherwise
Since:
  21