Mutex和Semaphore之间的差异= 1?

时间:2017-06-16 21:58:36

标签: multithreading language-agnostic mutex semaphore

以下两个变量之间是否有任何区别:

Mutex m;
Semaphore s = 1;

我认为它们是相同的但是在视频中我正在关注读者/作者问题的公式,它说要使用5信号量,每个信号量都以1的值开头。我发现这很有趣,因为我认为如果你有一个1值的信号量,那么你只需要使用一个互斥量。

1 个答案:

答案 0 :(得分:0)

将Mutex视为信号量定义的子集。

Stack Overflow上有一个很好的答案:Difference between binary semaphore and mutex

  

Mutex只能由获得它的线程释放,而你   可以从任何其他线程(或进程)发出信号量信号,因此信号量   更适合某些同步问题,比如   生产者 - 消费者。

相关问题