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


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

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

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的方式执行线程时,要将线程访问的局部数据, 使用值传递,传递给线程函数,或者压根该线程函数会在局部作用域结束前执行结束。