public class ForkJoinWorkerThread extends Thread
ForkJoinPool
, which executes
ForkJoinTask
s.
This class is subclassable solely for the sake of adding
functionality -- there are no overridable methods dealing with
scheduling or execution. However, you can override initialization
and termination methods surrounding the main task processing loop.
If you do create such a subclass, you will also need to supply a
custom ForkJoinPool.ForkJoinWorkerThreadFactory
to
use it in a ForkJoinPool
.Thread.State, Thread.UncaughtExceptionHandler
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
Modifier | Constructor and Description |
---|---|
protected |
ForkJoinWorkerThread(ForkJoinPool pool)
Creates a ForkJoinWorkerThread operating in the given pool.
|
Modifier and Type | Method and Description |
---|---|
ForkJoinPool |
getPool()
Returns the pool hosting this thread.
|
int |
getPoolIndex()
Returns the unique index number of this thread in its pool.
|
protected void |
onStart()
Initializes internal state after construction but before
processing any tasks.
|
protected void |
onTermination(Throwable exception)
Performs cleanup associated with termination of this worker
thread.
|
void |
run()
This method is required to be public, but should never be
called explicitly.
|
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
protected ForkJoinWorkerThread(ForkJoinPool pool)
pool
- the pool this thread works inNullPointerException
- if pool is nullpublic ForkJoinPool getPool()
public int getPoolIndex()
protected void onStart()
super.onStart()
at the beginning of the method.
Initialization requires care: Most fields must have legal
default values, to ensure that attempted accesses from other
threads work correctly even before this thread starts
processing tasks.protected void onTermination(Throwable exception)
super.onTermination
at the end of the overridden method.exception
- the exception causing this thread to abort due
to an unrecoverable error, or null
if completed normallypublic void run()
ForkJoinTask
s.run
in interface Runnable
run
in class Thread
Thread.start()
,
Thread.stop()
,
Thread.Thread(ThreadGroup, Runnable, String)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.