1, example
Import Java.util.concurrent.recursivetask;public class Calculator extends recursivetask<integer> { private static final int THRESHOLD = 4; private int start; private int end; Public Calculator (int start, int end) { This.start = start; This.end = end; } @Override protected Integer Compute () { int sum = 0; if ((End-start) < THRESHOLD) {for (int i = start; i<= end;i++) { sum + = i; } System.err.println (">>>>>>>>"); } else{ int middle = (start + end)/2; Calculator left = new Calculator (start, middle); Calculator right = new Calculator (middle + 1, end); Left.fork (); Right.fork (); sum = Left.join () + Right.join (); } return sum; } }
2 run
Import Java.util.concurrent.forkjoinpool;import Java.util.concurrent.future;public class Test {/** * @param args * @ Throws Exception * @throws interruptedexception
Hello Java fork/join for Java