首页 > 代码库 > JAVA 1.7并发之Fork/Join框架

JAVA 1.7并发之Fork/Join框架

在之前的博文里有说过executor框架,其实Fork/Join就是继承executor的升级版啦

executor用于创建一个线程池,但是需要手动的添加任务,如果需要将大型任务分治,显然比较麻烦

而Fork/Join则是解决这个问题的计算框架

 

用户定义部分:

如何分治  (compute(1 , 10))

定义一个函数用于分治,如果处理区间太大则分开,递归的调用自己 (compute(1 , 5) compute(6 , 10))

如何计算  (compute(1 , 5)) 

如果区间合适则计算

 

框架执行部分:

此处的重点是work-stealing,分治好的任务会分配给对应的线程,而一个线程完成任务后 会向其他线程偷任务来干

 

至于框架的作用就是 开发者只需关注实现细节 如何计算 和 简单的分治过程,具体的线程调用由框架完成

再直接点就是一个多线程的递归!