public class ForkJoinWorkerThread
extends Thread
java.lang.Object | ||
↳ | java.lang.Thread | |
↳ | java.util.concurrent.ForkJoinWorkerThread |
由ForkJoinPool
管理的线程,执行ForkJoinTask
。 这个类只是为了增加功能而被子类化 - 没有可重写的方法来处理调度或执行。 但是,您可以覆盖主要任务处理循环周围的初始化和终止方法。 如果您确实创建了这样一个子类,那么您还需要在ForkJoinPool中提供一个自定义ForkJoinPool.ForkJoinWorkerThreadFactory
到ForkJoinPool
。
Inherited constants |
---|
From class java.lang.Thread
|
Protected constructors |
|
---|---|
ForkJoinWorkerThread(ForkJoinPool pool) 创建在给定池中操作的ForkJoinWorkerThread。 |
Public methods |
|
---|---|
ForkJoinPool |
getPool() 返回主管此线程的池。 |
int |
getPoolIndex() 返回此线程在其池中的唯一索引号。 |
void |
run() 此方法需要公开,但不应该明确调用。 |
Protected methods |
|
---|---|
void |
onStart() 在施工之后但在处理任何任务之前初始化内部状态。 |
void |
onTermination(Throwable exception) 执行与此工作线程终止关联的清理。 |
Inherited methods |
|
---|---|
From class java.lang.Thread
|
|
From class java.lang.Object
|
|
From interface java.lang.Runnable
|
ForkJoinWorkerThread (ForkJoinPool pool)
创建在给定池中操作的ForkJoinWorkerThread。
Parameters | |
---|---|
pool |
ForkJoinPool : the pool this thread works in |
Throws | |
---|---|
NullPointerException |
if pool is null |
int getPoolIndex ()
返回此线程在其池中的唯一索引号。 返回值的范围从0到可能存在于池中的最大线程数(减1),并且在线程的生命周期中不会更改。 此方法可能对跟踪状态或收集每个工作者线程而不是每个任务的结果的应用程序很有用。
Returns | |
---|---|
int |
the index number |
void onStart ()
在施工之后但在处理任何任务之前初始化内部状态。 如果您重写此方法,则必须在方法的开头调用super.onStart()
。 初始化需要注意:大多数字段必须具有合法的默认值,以确保即使在此线程开始处理任务之前,来自其他线程的尝试访问也能正常工作。
void onTermination (Throwable exception)
执行与此工作线程终止关联的清理。 如果重写此方法,则必须在重写的方法结束时调用super.onTermination
。
Parameters | |
---|---|
exception |
Throwable : the exception causing this thread to abort due to an unrecoverable error, or null if completed normally |