2017-06-16 228 views
0

有以下兩個變量之間的區別:我認爲他們是相同的,但在一個視頻,我看大約一個公式來讀/寫器的問題,它說,使用5信號燈,每個互斥量和信號量之差= 1?

Mutex m; 
Semaphore s = 1; 

其中的價值從1開始。我覺得很有趣,因爲我認爲如果你的信號量爲1,那麼你只需要使用一個互斥量。

+0

@DougCurrie謝謝。我將永遠不會搜索* Binary Semaphore *。這有我需要的所有信息。 – Hatefiend

回答

0

將互斥量視爲信號量定義的一個子集。

堆棧溢出在這裏有一個很好的答案:Difference between binary semaphore and mutex

互斥只能由已經獲得它的線程被釋放,而你 可以從任何其他線程(或進程)信號量信號,所以信號量 更適合於象 生產者 - 消費者一些同步問題。