专栏/Java基础——一文读懂Fork/Join框架

Java基础——一文读懂Fork/Join框架

2023年07月24日 10:16--浏览 · --点赞 · --评论
程序员屈原
粉丝:18文章:37

分而治之

fork/Join框架的思想是将一个规模为n的大任务,fork成几个规模较小的K个子任务,最后合并所有子任务的结果,返回最终结果。

工作窃取

如图一个规模为T的任务划分成12个子任务,分别有4个线程在执行。如果当前线程没有可执行任务时,会从其他线程的任务队列中窃取任务来执行。工作窃取算法保证了cpu不会处于空闲状态。

ForkJoin用法

1.带返回值RecursiveTask


打印统计结果



2.无返回值RecursiveAction

等待所有任务执行结束



Java8 Stream并行流的Fork/Join框架使用

如下所示代码,利用Java8的并行流,对1到5的数进行相乘

1.parallel()方法设置标志位

设置了sourceStage.parallel 值为true

2.reduce()方法根据标志位来判断是否并行

evaluate方法,会调用isParallel(),对上面的sourceStage.parallel进行判断

3.terminalOp的接口以及实现类

接口TerminalOp

实现类ReduceOps新建了ReduceTask对象

对ReduceTask进行代码追踪,最后会追踪到ForkJoinTask类中,invoke方法是ForkJoinTask()的invoke()方法

结论

由此我们可以看出,Java8的Stream并行流底层代码,确实采用了Fork/Join框架来实现


投诉或建议

玻璃钢生产厂家深圳关公玻璃钢雕塑制作多少钱濮阳景观园林玻璃钢仿铜雕塑山东商场美陈有哪些开原玻璃钢游乐场门头雕塑玻璃钢雕塑雕塑大理市玻璃钢雕塑设计多少钱宁波人物玻璃钢雕塑玻璃钢花盆雕塑哪种效果好遵义玻璃钢座椅雕塑玻璃钢史努比造型雕塑商场爆米花美陈北京玻璃钢狼人护卫雕塑玻璃钢商业广场雕塑阿拉尔商场美陈玻璃钢钢铁侠雕塑厂家福州玻璃钢雕塑品牌室外玻璃钢卡通雕塑制造北京常见商场美陈哪里有商丘锻铜玻璃钢彩绘雕塑江苏周年庆典商场美陈售价玻璃钢仿真电影人物雕塑小区玻璃钢雕塑供应厂家佛山玻璃钢花盆厂江苏玻璃钢雕塑哪家便宜山东特色商场美陈厂家直销中国玻璃钢雕塑仿真牛平凉城市玻璃钢雕塑订做小型玻璃钢雕塑摆件高邮玻璃钢南瓜屋雕塑潮州现代玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化