Java中实现异步转同步的方法有多种,下面列举了几种常用的方法。
CountDownLatch latch = new CountDownLatch(1);
// 异步操作
new Thread(() -> {
// 执行异步操作
// ...
// 操作完成后释放锁
latch.countDown();
}).start();
// 等待异步操作完成
latch.await();
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<T> future = executor.submit(new Callable<T>() {
public T call() throws Exception {
// 执行异步操作
// 返回结果
return result;
}
});
// 阻塞并获取异步操作的结果
T result = future.get();
CompletableFuture<T> future = CompletableFuture.supplyAsync(() -> {
// 执行异步操作
// 返回结果
return result;
});
// 阻塞并获取异步操作的结果
T result = future.join();
以上方法都可以实现异步转同步,但具体使用哪种方法取决于具体的需求和场景。