JUC并行计算框架-Fork-Join-原理图文详解及代码示例.docxVIP

  • 6
  • 0
  • 约2.49万字
  • 约 45页
  • 2022-03-03 发布于上海
  • 举报

JUC并行计算框架-Fork-Join-原理图文详解及代码示例.docx

? ? JUC并行计算框架 Fork/Join 原理图文详解代码示例 ? ? 关键词:divide and conquer algorithm,work-stealing,WorkQueue ForkJoinPool 是什么? ForkJoinPool 是 JDK 7 中,@author Doug Lea 加入的一个线程池类。Fork/Join 框架的核心原理就是分治算法(Divide-and-Conquer)和工作窃取算法(work-stealing algorithm)。 Fork分解任务成独立的子任务,用多线程去执行这些子任务,Join合并子任务的结果。这样就能使用多线程的方式来执行一个任务。 JDK7引入的Fork/Join有三个核心类: ForkJoinPool,执行任务的线程池 ForkJoinWorkerThread,执行任务的工作线程 ForkJoinTask,一个用于ForkJoinPool的任务抽象类。 ForkJoinPool是框架的核心,不同于其他线程池,它的构建不需要提供核心线程数,最大线程数,阻塞队列等,还增加了未捕获异常处理器,而该处理器会交给工作线程,由该线程处理,这样的好处在于当一个线程的工作队列上的某个任务出现异常时,不至于结束掉线程,而是让它继续运行队列上的其他任务。它会依托于并行度(或默认根据核数计算)来决定最大线程数,它内部维护了W

文档评论(0)

1亿VIP精品文档

相关文档