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.youkuaiyun.com/tangyongzhe/article/details/49851769
Java异步编程示例
本文展示了一个使用Java CompletableFuture和ExecutorService进行异步编程的例子。主线程启动后立即继续运行,而异步任务在工作线程中执行,六秒后完成并回调主线程。此示例说明了如何在Java中实现非阻塞操作。
2849

被折叠的 条评论
为什么被折叠?



