從編程語言語用,由Scott誰阻止誰阻止同步?
同步可以通過旋轉(也稱爲 忙等待)或通過阻斷來實現。
在忙等待同步,一個線程運行循環,其中它保持 重新評估一些條件,直到該條件爲真(例如,直到 消息隊列非空變或共享變量達到一個特定 值)-presumably作爲一些其他 線程的行動的結果,在其他一些核心上運行。
在阻止同步(也稱爲基於調度程序的同步), 等待線程自願放棄其核心到其他線程。在這之前,它會在與同步條件相關的某個數據結構中留下一個註釋。在未來的某個時間點使條件成立的線程將會找到筆記並採取措施使被阻塞的線程再次運行。
這個同步機制爲什麼叫做「阻塞」?
誰阻止誰?
謝謝。