热门问题
时间线
聊天
视角
可重入互斥鎖
来自维基百科,自由的百科全书
Remove ads
計算機科學中,可重入互斥鎖(英語:reentrant mutex)是互斥鎖的一種,同一線程對其多次加鎖不會產生死鎖。可重入互斥鎖也稱遞歸互斥鎖(英語:recursive mutex)或遞歸鎖(英語:recursive lock)。
如果對已經上鎖的普通互斥鎖進行「加鎖」操作,其結果要麼失敗,要麼會阻塞至解鎖。而如果換作可重入互斥鎖,當且僅當嘗試加鎖的線程就是持有該鎖的線程時,類似的加鎖操作就會成功。可重入互斥鎖一般都會記錄被加鎖的次數,只有執行相同次數的解鎖操作才會真正解鎖。
遞歸互斥鎖解決了普通互斥鎖不可重入的問題:如果函數先持有鎖,然後執行回調,但回調的內容是調用它自己,就會產生死鎖。[1]
另見
參考文獻
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads