码迷,mamicode.com
首页 > 其他好文 > 详细

ForkJoinTask.join fork

时间:2018-07-24 19:21:07      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:卡住   需要   判断   扫描   完成   []   int   说明   forkjoin   

fork是把task放到workqueue[]中,join的逻辑是先去取,取不到说明这之间的功夫,被别的线程取走了,取到了自己执行task,然后判断task是不是可以完成,如果没完成,说明要么是这个task正在执行,要么是递归成子task了,反正不管怎样。

递归的所有task,需要都被完成之后,才能算整个的task被完成,那么,如果某个线程被卡在某个task上了,回去扫描或者叫偷别的线程上的task,直到扫描不到或者被卡住的task完成(实现future接口就是干这个的)。

其实理解forkjoinpool就两点,一个递归,一个所有task都完成才算整个完成,在这之前,所有的?线程都应该在扫描没完成的task。

ForkJoinTask.join fork

标签:卡住   需要   判断   扫描   完成   []   int   说明   forkjoin   

原文地址:https://www.cnblogs.com/chuliang/p/9361794.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!