2014/06/13

java Fork / Join Framework

 java.util.concurrent.ForkJoinPool
 ==>・デフォルトはマシンのプロセッサ数(Runtime#getRuntime()#availableProcessors()
 java.util.concurrent.ForkJoinTask

 =ー>粒度のちぃちゃい並列処理向く。。


int half = list.size() / 2;
SumTask st1 = new SumTask(list.subList(0, half), threshold);
st1.fork();
SumTask st2 = new SumTask(list.subList(half, list.size()), threshold);
return st2.compute() + st1.join();