Open kredisov opened 8 years ago
import java.util.concurrent.ForkJoinPool; import java.util.concurrent.RecursiveTask;
/**
Created by RED14 on 10.08.2016.
*/
class MyTask extends RecursiveTask
private static final int SIZE = 100;
final String a; final String b;
public MyTask(String a, String b) { this.a = a; this.b = b; }
@Override protected String compute() { long ai = Long.valueOf(a); long bi = Long.valueOf(b); if(bi-ai<SIZE) { long sum = 0; for(long i=ai; i< bi; i++) sum += i; return Long.toString(sum); } else { long mid = ai + (bi - ai) / 2; String midStr = Long.toString(mid);
MyTask task1 = new MyTask(a, midStr);
MyTask task2 = new MyTask(midStr, b);
task1.fork();
String r2 = task2.compute();
String r1 = task1.join();
long r1i = Long.valueOf(r1);
long r2i = Long.valueOf(r2);
return Long.toString(r1i + r2i);
}
} }
public class Java8JoinFork {
public static void main(String[] args) {
ForkJoinPool pool = new ForkJoinPool();
String r = pool.invoke(new MyTask("1", "1000000000"));
System.out.println(r);
pool.shutdown();
}
}
import jdk.nashorn.internal.ir.TemporarySymbols;
import java.time.*; import java.time.temporal.ChronoUnit; import java.time.temporal.TemporalAdjuster; import java.time.temporal.TemporalAdjusters; import java.time.temporal.TemporalUnit;
/**
Created by RED14 on 10.08.2016. */ public class Java8DateTime { public static void main(String[] args) throws Exception { System.out.println(LocalDate.now(ZoneId.of("UTC+2")).atTime(LocalTime.now())); System.out.println(Instant.now());
} }