首页 > 其他 > 详细

ForkJoin框架的最佳实现方式

时间:2020-01-06 00:13:42      阅读:154      评论:0      收藏:0      [点我收藏+]

 

历史背景:

在2001年之前,大部分服务器都是单核的,并不是多核。(虽然ForkJoin的实现思想已经在2001年之前已经出现了),一直到jdk1.7的时候(2011年),才将ForkJoin的是实现代码加入到jdk的juc包中!(源码中的实现逻辑很复杂),因为2011年,多核cpu已经非常普遍了,并行处理有用武之地了!

 

1、为什么出现ForkJoin框架?

为了充分利用多核cpu的性能,并行处理任务。

 

2、ForkJoin和ThreadPool之间有什么关系?

ThreadPool和ForkJoin两者互补的关系。

就是有些业务场景用ThreadPool合适,有些业务场景用ForkJoin合适。

例如:实现一个非常大的数组的归并排序,这种场景,使用ForkJoin更加合适(有递归)。如果使用ThreadPool,实现的逻辑就很复杂。

 

3、如何使用ForkJoin的Api?

 

 

4、ForkJoin的最佳实践方式是怎样?

4.1 (不是最佳实践的方式)在任务切分的时候,每切分一个任务,都新建线程去执行,而主线程一直在等待结果返回。主线程的资源就浪费了。

     (最佳实践的方式)在任务切分的时候,一边是用新建的线程去执行,另外一边的任务,都用主线程去执行。充分利用主线这个资源,节省线程数量。

 

5、总结

 

 

 

 

2018年写的文章

http://blog.sina.com.cn/s/blog_6f5e71b30102xfou.html

ForkJoin框架的最佳实现方式

原文:https://www.cnblogs.com/vingLiu/p/12154255.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!