Task Parallelism
https://www.coursera.org/learn/parallel-programming-in-java/
Task Creation and Termination (Async, Finish)
以数组求和作为例子
为了求得数组的和,可以将数组分为前后两个部分。两部分的求和可以并行执行,但是在求总和之前要保证两个子任务已经完成。
1  | finish {  | 
async <stmt1> :父任务创建子任务执行<stmt1>,并且是并行于父任务的其余部分执行
上面的伪代码中,async SUM1;创建子任务SUM1,和SUM2并行执行
finish <stmt2>:父任务执行<stmt2>,并且等待<stmt2>以及其中创建的异步任务完成
上例中,父任务等待SUM1和SUM2完成,才能执行SUM
Tasks in Java’s Fork/Join Framework
数组求和的分治写法