欢迎光临散文网 会员登陆 & 注册

c++有条件等待condition_variable/std::unique_lock,实现线程同步

2023-04-07 16:58 作者:大衣哥编程  | 我要投稿
  1. 部分代码

当条件变量不满足时,永远也等不到的

当条件变量满足时,可以等到


2. 关键变量:

std::condition_variable cv_;
bool isok_ = false;

3.  注意事项:
3.1 wati()函数如果没有条件判断,有时候会产生虚假唤醒,而有条件的等待可以很好的解决这一问题,利用 std::condition_variable wait有条件的等待
  void wait(unique_lock & lck, Predicate pred) 为有条件的等待

3.2 另外 以detach的方式执行线程时,要将线程访问的局部数据, 使用值传递,传递给线程函数,或者压根该线程函数会在局部作用域结束前执行结束。

c++有条件等待condition_variable/std::unique_lock,实现线程同步的评论 (共 条)

分享到微博请遵守国家法律