java.lang.Object
java.lang.Thread
java.util.concurrent.ForkJoinWorkerThread
- 所有已实现的接口:
Runnable
由
ForkJoinPool 管理的线程,它执行 ForkJoinTask s。此类可继承只是为了添加功能——没有处理调度或执行的可重写方法。但是,您可以覆盖围绕主任务处理循环的初始化和终止方法。如果您确实创建了这样一个子类,您还需要在 ForkJoinPool 中为 用它 提供自定义 ForkJoinPool.ForkJoinWorkerThreadFactory 。
- 自从:
- 1.7
-
内部类总结
在类 java.lang.Thread 中声明的嵌套类/接口
Thread.BuilderPREVIEW, Thread.State, Thread.UncaughtExceptionHandler -
字段摘要
在类 java.lang.Thread 中声明的字段
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
构造方法总结
构造方法修饰符构造方法描述protectedForkJoinWorkerThread(ThreadGroup group, ForkJoinPool pool, boolean preserveThreadLocals) 创建一个在给定线程组和池中运行的 ForkJoinWorkerThread,并使用给定的保留 ThreadLocals 的策略。protected创建在给定池中运行的 ForkJoinWorkerThread。 -
方法总结
修饰符和类型方法描述getPool()返回托管此线程的池。int返回此线程在其池中的唯一索引号。int返回线程队列中任务数的(非负)估计值。protected voidonStart()在构造之后但在处理任何任务之前初始化内部状态。protected voidonTermination(Throwable exception) 执行与此工作线程终止相关的清理。voidrun()此方法需要公开,但绝不能显式调用。在类 java.lang.Thread 中声明的方法
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, isVirtual, join, join, join, join, ofPlatform, ofVirtual, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, sleep, start, startVirtualThread, stop, suspend, threadId, toString, yield
-
构造方法详细信息
-
ForkJoinWorkerThread
创建一个在给定线程组和池中运行的 ForkJoinWorkerThread,并使用给定的保留 ThreadLocals 的策略。- 参数:
group- 如果非空,则为该线程的线程组。否则,线程组由安全管理器选择(如果存在),否则设置为当前线程的线程组。pool- 这个线程工作的池preserveThreadLocals- 如果为真,则始终保留跨任务的 ThreadLocal 变量的值;否则它们可能会被清除。- 抛出:
NullPointerException- 如果池为空- 自从:
- 19
-
ForkJoinWorkerThread
创建在给定池中运行的 ForkJoinWorkerThread。- 参数:
pool- 这个线程工作的池- 抛出:
NullPointerException- 如果池为空
-
-
方法详情
-
getPool
返回托管此线程的池。- 返回:
- 游泳池
-
getPoolIndex
public int getPoolIndex()返回此线程在其池中的唯一索引号。返回值的范围从零到池中可能存在的最大线程数(减一),并且在线程的生命周期内不会改变。此方法对于跟踪状态或收集每个工作线程而不是每个任务的结果的应用程序可能很有用。- 返回:
- 索引号
-
getQueuedTaskCount
public int getQueuedTaskCount()返回线程队列中任务数的(非负)估计值。- 返回:
- 线程队列中任务数量的(非负)估计
- 自从:
- 20
- 参见:
-
onStart
protected void onStart()在构造之后但在处理任何任务之前初始化内部状态。如果覆盖此方法,则必须在该方法的开头调用super.onStart()。初始化需要小心:大多数字段必须具有合法的默认值,以确保即使在该线程开始处理任务之前,来自其他线程的尝试访问也能正常工作。 -
onTermination
执行与此工作线程终止相关的清理。如果覆盖此方法,则必须在覆盖方法的末尾调用super.onTermination。- 参数:
exception- 由于不可恢复的错误导致此线程中止的异常,或者null如果正常完成
-
run
public void run()此方法需要公开,但绝不能显式调用。它执行主运行循环以执行ForkJoinTasks。
-