Java使用CountDownLatch实现异步转同步
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
public class Application {
public static void main(String[] args) {
CountDownLatch countDownLatch = new CountDownLatch(1);
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(2000);
} catch (Exception e) {
e.printStackTrace();
}
countDownLatch.countDown();
return "world";
});
try {
if (!countDownLatch.await(1, TimeUnit.SECONDS)) {
System.out.println("timeout");
}
System.out.println(future.get());
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("done");
}
}
最后更新于1年前
本文由人工编写,AI优化,转载请注明原文地址: Java使用CountDownLatch实现异步转同步
推荐阅读
评论 (0)
发表评论
昵称:加载中...
暂无评论,快来发表第一条评论吧!