gpt4 book ai didi

c++ - 无法理解此 boost 条件变量示例

转载 作者:行者123 更新时间:2023-11-30 04:06:03 25 4
gpt4 key购买 nike

在下面的例子中:http://en.cppreference.com/w/cpp/thread/condition_variable是什么阻止 main() 线程在 worker_thread 到达 cv.wait() 之前调用 cv.notify_one()?在我看来,如果 main() 线程提前通知,worker_thread 可能会永远等待。

我希望在“cv.wait()”周围看到一个“while (!ready)”。

最佳答案

您不需要使用 C++11 的包装器循环,因为它已经由 wait 的实现提供:

http://en.cppreference.com/w/cpp/thread/condition_variable/wait

也就是说,如果 lambda 表达式(这里的这个位:[]{return ready;})的计算结果为 truewait 将立即返回.

关于c++ - 无法理解此 boost 条件变量示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23051334/

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