遞歸互斥體

最近在看C++ 網絡編程 卷1 運用ACE和模式消除複雜性

到10.6 ACE條件變量類時,代碼演示瞭如何在不支持遞歸互斥體的平臺上模擬一個實現。其中ACE_Recursive_Thread_Mutex::acquire函數中對於條件變量調用ACE_Condition_Thread_Mutex::wait ,而在ACE_Recursive_Thread_Mutex::release中調用ACE_Condition_Thread_Mutex::signal。

這2此調用都是在同一個互斥鎖鎖定空間內進行的,但是因爲ACE_Condition_Thread_Mutex對象也引用了這個鎖,在wait函數調用時會先解鎖此互斥量,不影響其他線程進行,待wait被喚醒後重新枷鎖。條件變量總是和互斥鎖一起使用。

發佈了20 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章