std::mutex與pthread mutex區別


Linux下 pthread mutex

* PTHREAD_MUTEX_TIMED_NP,這是缺省值,也就是普通鎖。當一個線程加鎖以后,其余請求鎖的線程將形成一個等待隊列,並在解鎖后按優先級獲得鎖。這種鎖策略保證了資源分配的公平性。
* PTHREAD_MUTEX_RECURSIVE_NP,嵌套鎖,允許同一個線程對同一個鎖成功獲得多次,並通過多次unlock解鎖。如果是不同線程請求,則在加鎖線程解鎖時重新競爭。
* PTHREAD_MUTEX_ERRORCHECK_NP,檢錯鎖,如果同一個線程請求同一個鎖,則返回EDEADLK,否則與PTHREAD_MUTEX_TIMED_NP類型動作相同。這樣就保證當不允許多次加鎖時不會出現最簡單情況下的死鎖。
* PTHREAD_MUTEX_ADAPTIVE_NP,適應鎖,動作最簡單的鎖類型,僅等待解鎖后重新競爭。

std::mutex 只有是一種嵌套鎖

線程A lock,只能由線程A unlock

http://www.cplusplus.com/reference/mutex/mutex/unlock/


並發控制

http://www.cnblogs.com/haippy/p/3284540.html


參考百度百科互斥鎖

http://baike.baidu.com/link?url=gshO_9YUHZY1d03uH-yoV8IaGWzEt_8oXtTNzpjcVHGP5hOAE5ZEWaFyN711zQ0KI9SF6HBvPtllAf21Cmkdg2prj2QqvEaPRAUPDW3Tce3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM