public static void main(String[] args) { // 500000500000 long[] ref = {0L}; LongStream.rangeClosed(0, MAX).forEach(l -> ref[0] += l); out.println("forEach: " + ref[0]); long l = 0L; LongStream.rangeClosed(0, MAX).forEach(l2 -> l = l + l2); out.println(l); }
public static long sideEffectParallelSum(long n) { Accumulator accumulator = new Accumulator(); LongStream.rangeClosed(1, n).parallel().forEach(accumulator::add); return accumulator.total; }
public static long parallelRangedSum(long n) { return LongStream.rangeClosed(1, n).parallel().reduce(Long::sum).getAsLong(); }