0
有以下兩個變量之間的區別:我認爲他們是相同的,但在一個視頻,我看大約一個公式來讀/寫器的問題,它說,使用5
信號燈,每個互斥量和信號量之差= 1?
Mutex m;
Semaphore s = 1;
其中的價值從1
開始。我覺得很有趣,因爲我認爲如果你的信號量爲1
,那麼你只需要使用一個互斥量。
有以下兩個變量之間的區別:我認爲他們是相同的,但在一個視頻,我看大約一個公式來讀/寫器的問題,它說,使用5
信號燈,每個互斥量和信號量之差= 1?
Mutex m;
Semaphore s = 1;
其中的價值從1
開始。我覺得很有趣,因爲我認爲如果你的信號量爲1
,那麼你只需要使用一個互斥量。
將互斥量視爲信號量定義的一個子集。
堆棧溢出在這裏有一個很好的答案:Difference between binary semaphore and mutex。
互斥只能由已經獲得它的線程被釋放,而你 可以從任何其他線程(或進程)信號量信號,所以信號量 更適合於象 生產者 - 消費者一些同步問題。
@DougCurrie謝謝。我將永遠不會搜索* Binary Semaphore *。這有我需要的所有信息。 – Hatefiend