public class ForkJoinWorkerThread extends Thread
ForkJoinPool
管理的线程,执行ForkJoinTask
。
这个类仅仅是为了添加功能而进行子类化 - 没有可以处理调度或执行的可覆盖的方法。
但是,您可以覆盖主任务处理循环周围的初始化和终止方法。
如果您创建了这样一个子类,那么您还需要在ForkJoinPool中提供自定义ForkJoinPool.ForkJoinWorkerThreadFactory
到ForkJoinPool
。
Thread.State, Thread.UncaughtExceptionHandler
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
Modifier | Constructor and Description |
---|---|
protected |
ForkJoinWorkerThread(ForkJoinPool pool)
在给定的池中创建一个ForkJoinWorkerThread。
|
Modifier and Type | Method and Description |
---|---|
ForkJoinPool |
getPool()
返回托管此线程的池。
|
int |
getPoolIndex()
返回此线程在其池中的唯一索引号。
|
protected void |
onStart()
在施工后初始化内部状态,但在处理任何任务之前。
|
protected void |
onTermination(Throwable exception)
执行与该工作线程的终止相关联的清除。
|
void |
run()
这种方法是公开的,但不应该被明确地调用。
|
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
- 此线程工作的池
NullPointerException
- 如果池为空
public ForkJoinPool getPool()
public int getPoolIndex()
protected void onStart()
super.onStart()
。
初始化需要注意:大多数字段必须具有合法的默认值,以确保即使在此线程开始处理任务之前,其他线程的尝试访问也能正常工作。
protected void onTermination(Throwable exception)
super.onTermination
。
exception
- 由于不可恢复的错误导致此线程中止的异常,或
null
如果正常完成
public void run()
ForkJoinTask
s。
run
在界面
Runnable
run
在类别
Thread
Thread.start()
,
Thread.stop()
,
Thread.Thread(ThreadGroup, Runnable, String)