Java-JUC之ForkJoin框架

Posted 进击的算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-JUC之ForkJoin框架相关的知识,希望对你有一定的参考价值。

一、 主要算法思想:

采用了分治的思想:将一个大任务分割成不同的子任务,将线程放入不同的队列,一个线程对应一个队列。

 

1.“工作窃取算法”:某个线程执行完自己的队列里的任务时,会从其他队列里窃取任务来执行

 

2. 框架局限性:

  • 存在竞争:双端队列里只有一个任务时

 

 

二、 应用

1.  java8 中的parallel stream 

   因为最近项目中一个计算量很大的任务中使用了parallel stream去并行地计算机器学习模型,最近找系统耗时瓶颈,发现这一块可能存在问题,于是打算深入研究下

 

以上是关于Java-JUC之ForkJoin框架的主要内容,如果未能解决你的问题,请参考以下文章

并发编程系列之什么是ForkJoin框架?

并发编程系列之什么是ForkJoin框架?

十二:并发编程之Future&ForkJoin框架原理分析

JUC - 多线程之ForkJoin;异步调用CompletableFuture

ForkJoin框架

JUC系列ForkJoin框架设计官方说明翻译