import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.RecursiveTask;
public class ForkJoinTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
final int SIZE = 10;
Double[] nums = new Double[SIZE];
for (int i = 0; i < SIZE; ++i) {
nums[i] = Math.random();
System.out.print(nums[i] + " ");
}
System.out.println();
ForkJoinPool pool = new ForkJoinPool();
ForkJoinCounter counter = new ForkJoinCounter(nums, 0, nums.length, new Filter() {
@Override
public boolean accept(double t) {
// TODO Auto-generated method stub
if(t > 0.5) return true;
return false;
}
});
pool.invoke(counter);
System.out.println("N: " + counter.join());
}
}
interface Filter {
public boolean accept(double t);
}
class ForkJoinCounter extends RecursiveTask<Integer> {
private static final long serialVersionU
Java Fork-Join框架实现并发查找
最新推荐文章于 2024-03-01 14:03:03 发布