感觉没什么区别。
1
jimzhong 2018-05-12 22:59:23 +08:00
使用 mutex 和 condition 可以模拟 semaphore.
|
2
vegito2002 2018-05-12 23:05:54 +08:00
条件变量本身一般就是用信号量实现的. 反过来用条件变量实现信号量也可以, 不过那个是搞着玩的.
Linux 的信号量好像还可以维护等待人的数量, 条件变量我记得好像是不可以? 严格来说条件变量能做的都能用信号量来做, 不过麻烦一些. 锁和条件变量实际上是信号量的两种不同的高层抽象, 让使用更方便一些, 其实就是对应初始值分别是 1 和 0 的信号量. |