我閱讀有關「操作系統概念」信號燈(對於那些你們誰知道),我想我完全瞭解信號燈,直到我讀到這樣一段話:瞭解信號燈
信號燈的重要方面它們是以原子方式執行 。我們必須保證沒有兩個進程可以同時執行等待 和對同一信號量的信號操作。
而且也:
如果硬件不提供任何特殊的原子操作,我們 可以使用任何的軟件解決方案的關鍵部分 問題,其中的關鍵部分包括等待和信號 程序。
這段話是指面對Signal
和Wait
的操作必須是原子的。 我認爲信號量的全部目的是讓任何時候只有一個進程在關鍵部分 - 如果我必須使用另一種算法(如麪包店算法),爲什麼我還需要信號量?
我意識到我的問題可能會讓人困惑。如果是這樣,那只是因爲這個話題對我來說依然模糊,所以即使提出一個問題也有點困難。
很想讀任何澄清...
看看有什麼困惑我的是,你建立一個鎖,然後您「鎖上的鎖」 ... – yotamoo