gpt4 book ai didi

java - 使异步代码阻塞

转载 作者:行者123 更新时间:2023-12-01 21:53:03 27 4
gpt4 key购买 nike

我想确保主线程被阻塞,直到异步调用完成。我正在创建一个新线程来执行异步代码。这是我的代码:

Thread r = new Thread() {
public void run() {
asyncCall();
}
};
r.run();
r.join();

r.join 将阻塞主线程,直到 r 死亡。这样就足够了吗?线程 r 何时真正死亡?是在异步调用完成之后吗?

最佳答案

首先,你需要调用thread.start()而不是thread.run(),答案是肯定的,thread.join 阻塞直到线程死亡。

它什么时候真正死亡? Check this out

但是,建议使用执行器,而不是直接使用线程

Future<?> future =  executor.submit(()->{});
future.get(); // blocks here

关于java - 使异步代码阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34855478/

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