代码示例:
private static void ExecutorMethod() {
//ExecutorService service = Executors.newSingleThreadExecutor(); //一池一线程
ExecutorService service = Executors.newFixedThreadPool(3); //一池三线程
//ExecutorService service = Executors.newCachedThreadPool(); //一池N线程
Future<Integer> result = null;
try {
for (int i = 1; i <= 15; i++) {
result = service.submit( () -> {
Thread.sleep(400);
System.out.print(Thread.currentThread().getName());
return new Random().nextInt(10);
} );
System.out.println(" ********result: "+result.get());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
service.shutdown();
}
}
private static void ScheduledExecutorMethod() {
ScheduledExecutorService service = Executors.newScheduledThreadPool(5); //带延时的线程池
Future<Integer> result = null;
try {
for (int i = 1; i <= 15; i++) {
result = service.schedule(() -> {
System.out.print(Thread.currentThread().getName());
return new Random().nextInt(10);
}, 2, TimeUnit.SECONDS);
System.out.println(" ********result: "+result.get());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
service.shutdown();
}
}