以下两个变量之间是否有任何区别:
Mutex m;
Semaphore s = 1;
我认为它们是相同的但是在视频中我正在关注读者/作者问题的公式,它说要使用5
信号量,每个信号量都以1
的值开头。我发现这很有趣,因为我认为如果你有一个1
值的信号量,那么你只需要使用一个互斥量。
答案 0 :(得分:0)
将Mutex视为信号量定义的子集。
Stack Overflow上有一个很好的答案:Difference between binary semaphore and mutex。
Mutex只能由获得它的线程释放,而你 可以从任何其他线程(或进程)发出信号量信号,因此信号量 更适合某些同步问题,比如 生产者 - 消费者。