互斥量和信号量 = 1 之间的区别? [复制]
Posted
技术标签:
【中文标题】互斥量和信号量 = 1 之间的区别? [复制]【英文标题】:Difference between Mutex and Semaphore=1? [duplicate] 【发布时间】:2017-11-19 18:44:19 【问题描述】:以下两个变量有什么区别:
Mutex m;
Semaphore s = 1;
我认为它们是相同的,但在我正在观看的有关阅读器/编写器问题的公式的视频中,它说使用5
信号量,每个信号量都从1
的值开始。我觉得这很有趣,因为我认为如果您有一个值为 1
的信号量,那么您只需使用互斥锁即可。
【问题讨论】:
@DougCurrie 谢谢。我永远不会知道搜索 Binary Semaphore。这包含了我需要的所有信息。 【参考方案1】:将 Mutex 视为信号量定义的子集。
这里有一个关于 Stack Overflow 的好答案:Difference between binary semaphore and mutex。
Mutex 只能由获得它的线程释放,而你 可以从任何其他线程(或进程)发出信号量,所以信号量 更适合一些同步问题,比如 生产者-消费者。
【讨论】:
以上是关于互斥量和信号量 = 1 之间的区别? [复制]的主要内容,如果未能解决你的问题,请参考以下文章