gpt4 book ai didi

java - 强制异步操作​​阻塞当前线程

转载 作者:太空宇宙 更新时间:2023-11-04 11:25:42 24 4
gpt4 key购买 nike

我有一个仅支持异步执行某些操作的 API,我想强制它阻止我的线程。

static void doWorkSync(Worker worker) {
final Condition condition = new ReentrantLock().newCondition();
worker.doWorkAsync(() -> condition.signal());
try {
condition.await();
} catch (InterruptedException e) {
throw new AssertionError(e);
}
}

上面使用的条件是这种情况下最明智的解决方案吗?

最佳答案

CountDownLatch这就是您正在寻找的!

static void doWorkSync(Worker worker) {
final CountDownLatch latch = new CountDownLatch(1);
worker.doWorkAsync(() -> latch.countDown());
try {
latch.await();
} catch (InterruptedException e) {
throw new AssertionError(e);
}
}

关于java - 强制异步操作​​阻塞当前线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44401802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com