# Uses of Class
java.lang.Thread

Packages that use Thread
Package
Description
java.lang
Provides classes that are fundamental to the design of the Java programming language.
java.lang.foreign
Provides low-level access to memory and functions outside the Java runtime.
java.util.concurrent
Utility classes commonly useful in concurrent programming.
java.util.concurrent.locks
Interfaces and classes providing a framework for locking and waiting for conditions that is distinct from built-in synchronization and monitors.
javax.swing.text
Provides classes and interfaces that deal with editable and noneditable text components.

## Uses of Thread in java.lang

Methods in java.lang that return Thread
Modifier and Type
Method
Description
`static Thread`
Thread.`currentThread()`
Returns the Thread object for the current thread.
`Thread`
Thread.Builder.`start(Runnable task)`
Creates a new `Thread` from the current state of the builder and schedules it to execute.
`static Thread`
Thread.`startVirtualThread(Runnable task)`
Creates a virtual thread to execute a task and schedules it to execute.
`Thread`
Thread.Builder.`unstarted(Runnable task)`
Creates a new `Thread` from the current state of the builder to run the given task.
Methods in java.lang that return types with arguments of type Thread
Modifier and Type
Method
Description
`static Map<Thread,StackTraceElement[]>`
Thread.`getAllStackTraces()`
Returns a map of stack traces for all live platform threads.
Methods in java.lang with parameters of type Thread
Modifier and Type
Method
Description
`void`
Runtime.`addShutdownHook(Thread hook)`
Registers a new virtual-machine shutdown hook.
`void`
SecurityManager.`checkAccess(Thread t)`
Deprecated, for removal: This API element is subject to removal in a future version.
Throws a `SecurityException` if the calling thread is not allowed to modify the thread argument.
`static int`
Thread.`enumerate(Thread[] tarray)`
Copies into the specified array every live platform thread in the current thread's thread group and its subgroups.
`int`
ThreadGroup.`enumerate(Thread[] list)`
Copies into the specified array every live platform thread in this thread group and its subgroups.
`int`
ThreadGroup.`enumerate(Thread[] list, boolean recurse)`
Copies into the specified array every live platform thread in this thread group.
`boolean`
Runtime.`removeShutdownHook(Thread hook)`
De-registers a previously-registered virtual-machine shutdown hook.
`void`
Thread.UncaughtExceptionHandler.`uncaughtException(Thread t, Throwable e)`
Method invoked when the given thread terminates due to the given uncaught exception.
`void`
ThreadGroup.`uncaughtException(Thread t, Throwable e)`
Called by the Java Virtual Machine when a thread in this thread group stops because of an uncaught exception, and the thread does not have a specific `Thread.UncaughtExceptionHandler` installed.

## Uses of Thread in java.lang.foreign

Methods in java.lang.foreign with parameters of type Thread
Modifier and Type
Method
Description
`boolean`
MemorySegment.`isAccessibleBy(Thread thread)`
Returns `true` if this segment can be accessed from the provided thread.

## Uses of Thread in java.util.concurrent

Subclasses of Thread in java.util.concurrent
Modifier and Type
Class
Description
`class`
`ForkJoinWorkerThread`
A thread managed by a `ForkJoinPool`, which executes `ForkJoinTask`s.
Methods in java.util.concurrent that return Thread
Modifier and Type
Method
Description
`Thread`
ThreadFactory.`newThread(Runnable r)`
Constructs a new unstarted `Thread` to run the given runnable.
Methods in java.util.concurrent that return types with arguments of type Thread
Modifier and Type
Method
Description
`protected Collection<Thread>`
Semaphore.`getQueuedThreads()`
Returns a collection containing threads that may be waiting to acquire.
Methods in java.util.concurrent with parameters of type Thread
Modifier and Type
Method
Description
`protected void`
ThreadPoolExecutor.`beforeExecute(Thread t, Runnable r)`
Method invoked prior to executing the given Runnable in the given thread.
`void`
TimeUnit.`timedJoin(Thread thread, long timeout)`
Performs a timed `Thread.join` using this time unit.

## Uses of Thread in java.util.concurrent.locks

Methods in java.util.concurrent.locks that return Thread
Modifier and Type
Method
Description
`protected final Thread`
AbstractOwnableSynchronizer.`getExclusiveOwnerThread()`
Returns the thread last set by `setExclusiveOwnerThread`, or `null` if never set.
`final Thread`
AbstractQueuedLongSynchronizer.`getFirstQueuedThread()`
Returns the first (longest-waiting) thread in the queue, or `null` if no threads are currently queued.
`final Thread`
AbstractQueuedSynchronizer.`getFirstQueuedThread()`
Returns the first (longest-waiting) thread in the queue, or `null` if no threads are currently queued.
`protected Thread`
ReentrantLock.`getOwner()`
Returns the thread that currently owns this lock, or `null` if not owned.
`protected Thread`
ReentrantReadWriteLock.`getOwner()`
Returns the thread that currently owns the write lock, or `null` if not owned.
Methods in java.util.concurrent.locks that return types with arguments of type Thread
Modifier and Type
Method
Description
`final Collection<Thread>`
AbstractQueuedLongSynchronizer.`getExclusiveQueuedThreads()`
Returns a collection containing threads that may be waiting to acquire in exclusive mode.
`final Collection<Thread>`
AbstractQueuedSynchronizer.`getExclusiveQueuedThreads()`
Returns a collection containing threads that may be waiting to acquire in exclusive mode.
`protected Collection<Thread>`
ReentrantReadWriteLock.`getQueuedReaderThreads()`
Returns a collection containing threads that may be waiting to acquire the read lock.
`final Collection<Thread>`
AbstractQueuedLongSynchronizer.`getQueuedThreads()`
Returns a collection containing threads that may be waiting to acquire.
`final Collection<Thread>`
AbstractQueuedSynchronizer.`getQueuedThreads()`
Returns a collection containing threads that may be waiting to acquire.
`protected Collection<Thread>`
ReentrantLock.`getQueuedThreads()`
Returns a collection containing threads that may be waiting to acquire this lock.
`protected Collection<Thread>`
ReentrantReadWriteLock.`getQueuedThreads()`
Returns a collection containing threads that may be waiting to acquire either the read or write lock.
`protected Collection<Thread>`
ReentrantReadWriteLock.`getQueuedWriterThreads()`
Returns a collection containing threads that may be waiting to acquire the write lock.
`final Collection<Thread>`
AbstractQueuedLongSynchronizer.`getSharedQueuedThreads()`
Returns a collection containing threads that may be waiting to acquire in shared mode.
`final Collection<Thread>`
AbstractQueuedSynchronizer.`getSharedQueuedThreads()`
Returns a collection containing threads that may be waiting to acquire in shared mode.
`protected final Collection<Thread>`
AbstractQueuedLongSynchronizer.ConditionObject.`getWaitingThreads()`
Returns a collection containing those threads that may be waiting on this Condition.
`final Collection<Thread>`
AbstractQueuedLongSynchronizer.`getWaitingThreads(AbstractQueuedLongSynchronizer.ConditionObject condition)`
Returns a collection containing those threads that may be waiting on the given condition associated with this synchronizer.
`protected final Collection<Thread>`
AbstractQueuedSynchronizer.ConditionObject.`getWaitingThreads()`
Returns a collection containing those threads that may be waiting on this Condition.
`final Collection<Thread>`
AbstractQueuedSynchronizer.`getWaitingThreads(AbstractQueuedSynchronizer.ConditionObject condition)`
Returns a collection containing those threads that may be waiting on the given condition associated with this synchronizer.
`protected Collection<Thread>`
ReentrantLock.`getWaitingThreads(Condition condition)`
Returns a collection containing those threads that may be waiting on the given condition associated with this lock.
`protected Collection<Thread>`
ReentrantReadWriteLock.`getWaitingThreads(Condition condition)`
Returns a collection containing those threads that may be waiting on the given condition associated with the write lock.
Methods in java.util.concurrent.locks with parameters of type Thread
Modifier and Type
Method
Description
`static Object`
LockSupport.`getBlocker(Thread t)`
Returns the blocker object supplied to the most recent invocation of a park method that has not yet unblocked, or null if not blocked.
`final boolean`
ReentrantLock.`hasQueuedThread(Thread thread)`
Queries whether the given thread is waiting to acquire this lock.
`final boolean`
ReentrantReadWriteLock.`hasQueuedThread(Thread thread)`
Queries whether the given thread is waiting to acquire either the read or write lock.
`final boolean`
AbstractQueuedLongSynchronizer.`isQueued(Thread thread)`
Returns true if the given thread is currently queued.
`final boolean`
AbstractQueuedSynchronizer.`isQueued(Thread thread)`
Returns true if the given thread is currently queued.
`protected final void`
AbstractOwnableSynchronizer.`setExclusiveOwnerThread(Thread thread)`
Sets the thread that currently owns exclusive access.
`static void`
LockSupport.`unpark(Thread thread)`
Makes available the permit for the given thread, if it was not already available.

## Uses of Thread in javax.swing.text

Methods in javax.swing.text that return Thread
Modifier and Type
Method
Description
`protected final Thread`
AbstractDocument.`getCurrentWriter()`
Fetches the current writing thread if there is one.