public class JavaAnSycTest {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(2);
CompletableFuture<String> future = CompletableFuture.supplyAsync(new Supplier<String>() {
@Override
public String get() {
System.out.println("task start");
try {
Thread.sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "task finish";
}
}, executor);
future.thenAccept(e -> System.out.println(e + " ok"));
System.out.println("main thread is running");
}
}
代码的执行结果是:主线程继续处理,六秒之后,工作线程的结果才返回
task start
main thread is running
task finish ok
转载至:https://blog.csdn.net/tangyongzhe/article/details/49851769