15-结果分析
结果分析
本节通过 ForkJoinPool 类和继承了 RecursiveAction 的 Task 类,完成了一个增加数组元素的任务。而这个任务的本身也适合使用 ForkJoinPool 来实现。当任务正在处理数组时,它将输出 ForkJoinPool 的相关信息到控制台中。可以通过以下方法获取 ForkJoinPool 类的状态。
getPoolSize():该方法返回当前线程池内工作线程的数量,它用int型变量来表示。getParallelism():该方法返回线程池的并行级。getActiveThreadCount():该方法返回当前正在执行任务的线程数。getRunningThreadCount():该方法返回当前没有被任何同步机制阻塞的工作线程的数量。getQueuedSubmissionCount():该方法返回已经提交到线程池中但是尚未开始执行的任务数量。getQueuedTaskCount():该方法返回已经提交到线程池中并且已经开始执行的任务数量。hasQueuedSubmissions():该方法返回一个布尔值,该值指示当前线程池中是否有正在排队却尚未执行的任务。getStealCount():该方法返回一个工作线程队列从另外一个工作线程队列中窃取的全部任务数量,它用long型变量表示。isTerminated():该方法返回布尔型值,它可以获知当前fork/join线程池是否已经完成全部任务的执行。