Module  java.base
软件包  java.util.concurrent

Class ForkJoinWorkerThread

  • All Implemented Interfaces:
    Runnable


    public class ForkJoinWorkerThread
    extends Thread
    一个由一个ForkJoinPool管理的线程,执行ForkJoinTask 这个类仅仅是为了添加功能而进行子类化 - 没有涉及调度或执行的可覆盖的方法。 但是,您可以覆盖主任务处理循环周围的初始化和终止方法。 如果您创建了这样一个子类,您还需要在ForkJoinPool中use it提供一个自定义的ForkJoinPool
    从以下版本开始:
    1.7
    • 构造方法详细信息

      • 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