2017-06-16 233 views
0

有以下两个变量之间的区别:我认为他们是相同的,但在一个视频,我看大约一个公式来读/写器的问题,它说,使用5信号灯,每个互斥量和信号量之差= 1?

Mutex m; 
Semaphore s = 1; 

其中的价值从1开始。我觉得很有趣,因为我认为如果你的信号量为1,那么你只需要使用一个互斥量。

+0

@DougCurrie谢谢。我将永远不会搜索* Binary Semaphore *。这有我需要的所有信息。 – Hatefiend

回答

0

将互斥量视为信号量定义的一个子集。

堆栈溢出在这里有一个很好的答案:Difference between binary semaphore and mutex

互斥只能由已经获得它的线程被释放,而你 可以从任何其他线程(或进程)信号量信号,所以信号量 更适合于象 生产者 - 消费者一些同步问题。