gpt4 book ai didi

c++ - 如何可靠地判断 boost 线程是否已退出其运行方法?

转载 作者:IT老高 更新时间:2023-10-28 12:37:30 29 4
gpt4 key购买 nike

我认为 joinable 会表明这一点,但似乎并非如此。

在 worker 类(Class)中,我试图表明它仍在通过谓词进行处理:

bool isRunning(){return thread_->joinable();}

不是已经退出的线程不能加入吗?我错过了什么...... boost thread::joinable 的含义是什么?

最佳答案

因为即使在线程终止后您也可以加入线程,所以 joinable() 仍将返回 true,直到您调用 join() 或 detach()。如果您想知道一个线程是否仍在运行,您应该能够在等待时间为 0 的情况下调用 timed_join。请注意,这可能会导致竞争条件,因为线程可能会在调用后立即终止。

关于c++ - 如何可靠地判断 boost 线程是否已退出其运行方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1667420/

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