1. 程式人生 > >《多處理器程式設計的藝術》讀書筆記——第二章 互斥

《多處理器程式設計的藝術》讀書筆記——第二章 互斥

臨界區:某個時刻僅能被一個執行緒執行的程式碼段。
良構的執行緒:
1.一個臨界區只和一個唯一的Lock物件相關聯
2.執行緒準備進入臨界區時呼叫該物件的lock()方法
3.當執行緒離開臨界區時呼叫unlock()方法
一個好的鎖演算法應該滿足哪些特性:
互斥:不同執行緒的臨界區之間沒有重疊。(安全特性)
無死鎖:個別執行緒可能飢餓,總有一些執行緒能繼續執行。(活性特性)
無飢餓:每一個試圖獲得鎖的執行緒最終都能成功。無飢餓意味著無死鎖。