Why Does Conv Need a Mutex

我们以 C++11 的 API 接口定义来描述 大家在编写多线程类的程序时,会用到信号量 condition_variable,有没有疑惑过为什么 cv 这类接口,在调用 wait/notify 时候还需要用一个 mutex。 为什么 cv.wait() 需要用 mutex 保护? 常见的 cv 代码实现类似下方,包含三个部分:检查条件是否满足;如果不满足等待到满足;等待到满足后执行逻辑。 ...

2022-06-23 · 1 min · Chang Liu