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");
}
}
使用CountDownLatch实现异步转同步
创建日期:2024-06-21
更新日期:2024-12-10
简介
一个来自三线小城市的程序员开发经验总结。