管程

目的: 分離互斥和條件同步的關注,針對信號量有可能產生死鎖的問題,設置一個標誌位實現在使用臨界資源的線程等待時切換到另一個線程。 定義: 包含一個鎖用來指定臨界區,0或多個條件變量用來等待或通知信號量管理併發共享數據。每個條件變量維護一個等待隊列,可以喚醒sinal和阻塞wait。 實現: 先執行釋放鎖的原因是因爲實際應用中會在操作之前對管程代碼加鎖,因此在阻塞時需要先釋放鎖喚醒其他變量的隊列。
相關文章
相關標籤/搜索