2
我的意思是某種僞代碼顯示瞭如何使用內核原語(互斥鎖,等待隊列等)實現條件變量操作(信號,等待)。pthreads在Linux中如何實現條件變量?
我的意思是某種僞代碼顯示瞭如何使用內核原語(互斥鎖,等待隊列等)實現條件變量操作(信號,等待)。pthreads在Linux中如何實現條件變量?
問題有些模糊:等待隊列是內部Linux內核機制,它們不會導出到用戶空間。用戶空間條件變量由基於futexes的libc實現。
在Linux內核中沒有條件變量接口實現,但很容易創建一個接口,例如參見http://www.geocities.ws/nikitadanilov/code/kcond.c。
爲什麼不直接查看libc中的_real_代碼? –
你可能喜歡在這裏挖掘:http://www.eglibc.org/cgi-bin/viewvc.cgi/trunk/libc/nptl/ – alk
有超過*一個* pthreads庫的Linux,這可以是相關的,如果你不是x86和/或GNU libC中心。 – sawdust