- java.lang.Object
-
- java.lang.Thread
-
- java.util.concurrent.ForkJoinWorkerThread
-
- All Implemented Interfaces:
-
Runnable
public class ForkJoinWorkerThread extends Thread
一个由一个ForkJoinPool
管理的线程,执行ForkJoinTask
。 这个类仅仅是为了添加功能而进行子类化 - 没有涉及调度或执行的可覆盖的方法。 但是,您可以覆盖主任务处理循环周围的初始化和终止方法。 如果您创建了这样一个子类,您还需要在ForkJoinPool中为use it提供一个自定义的ForkJoinPool
。- 从以下版本开始:
- 1.7
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
-
-
Field Summary
-
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
ForkJoinWorkerThread(ForkJoinPool pool)
在给定的池中创建一个ForkJoinWorkerThread。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 ForkJoinPool
getPool()
返回托管此线程的池。int
getPoolIndex()
返回此线程在其池中的唯一索引号。protected void
onStart()
在施工后初始化内部状态,但在处理任何任务之前。protected void
onTermination(Throwable exception)
执行与该工作线程的终止相关联的清除。void
run()
这种方法是公开的,但不应该被明确地调用。-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class java.lang.Thread
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, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
-
-
-
-
构造方法详细信息
-
ForkJoinWorkerThread
protected ForkJoinWorkerThread(ForkJoinPool pool)
在给定的池中创建一个ForkJoinWorkerThread。- 参数
-
pool
- 此线程工作的池 - 异常
-
NullPointerException
- 如果池为空
-
-
方法详细信息
-
getPool
public ForkJoinPool getPool()
返回托管此线程的池。- 结果
- 游泳池
-
getPoolIndex
public int getPoolIndex()
返回此线程在其池中的唯一索引号。 返回的值的范围从零到最大线程数(减一),可能存在于池中,并且在线程的生命周期内不会更改。 该方法对于跟踪状态或收集每个工作者线程而不是每个任务的结果的应用程序可能是有用的。- 结果
- 索引号
-
onStart
protected void onStart()
在施工后初始化内部状态,但在处理任何任务之前。 如果您覆盖此方法,则必须在方法开头调用super.onStart()
。 初始化需要注意:大多数字段必须具有合法的默认值,以确保即使在此线程开始处理任务之前,其他线程的尝试访问也能正常工作。
-
onTermination
protected void onTermination(Throwable exception)
执行与该工作线程的终止相关联的清除。 如果您覆盖此方法,则必须在覆盖方法的末尾调用super.onTermination
。- 参数
-
exception
- 由于不可恢复的错误导致此线程中止的异常,如果正常完成,null
-
run
public void run()
这种方法是公开的,但不应该被明确地调用。 它执行主运行循环执行ForkJoinTask
s。- Specified by:
-
run
在接口Runnable
- 重写:
-
run
在Thread
- 另请参见:
-
Thread.start()
,Thread.stop()
,Thread(ThreadGroup, Runnable, String)
-
-