关于条件变量wait_for的问题

haodafeng_zsh 2018-03-18 03:59:17
std::condition_variable cv;
std::mutex mtx;
std::unique_lock<std::mutex> lck(mtx);
auto cvStatus = cv.wait_for(
lck, std::chrono::microseconds(2000));

上面这段程序维斯很么cvStatus的值是notimeout,想不明白,请高人指教
...全文
781 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mstlq 2018-03-18
  • 打赏
  • 举报
回复
http://zh.cppreference.com/w/cpp/thread/condition_variable/wait_for 如果楼主仔细阅读了上面的文档,再回头看自己遇到的代码,应该就不会有什么疑惑了。 如果还有疑惑,请把具体的代码,还有你搞不清楚的部分,以及你自己对这个问题的思考一并贴上来。大家好帮你分析。
haodafeng_zsh 2018-03-18
  • 打赏
  • 举报
回复
std::mutex mtx; std::unique_lock<std::mutex> lck(mtx); while (cv.wait_for(lck, std::chrono::seconds(1)) == std::cv_status::timeout) { std::cout << '.'; std::cout.flush(); } 这个代码执行结果很诡异,如果单步调试,结果是几个点不确定,为什么呢,有人能一起回答一下么

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧