1. 程式人生 > >讀者寫者問題、ReentrantReadWriteLock、哲學家就餐問題

讀者寫者問題、ReentrantReadWriteLock、哲學家就餐問題

先記錄一下,陳碩博主使用條件變數實現事件等待器的正確和錯誤的做法
多執行緒處理時,不可避免要處理對共享資料的讀寫問題。
1、讀者寫者問題就很經典,可以看維基百科Readers–writers problem,文章中寫了四種讀者寫者問題,以及飢渴現象。另外也介紹了讀寫鎖Readers–writer lock
2、github的SystemProgramming程式設計part7Synchronization, Part 7: The Reader Writer Problem
3、java中的讀寫鎖Read / Write Locks in Java
4、java.util.concurrent.locks提供了ReadWriteLock類,提供了讀鎖和寫鎖,讀鎖是共享鎖,寫鎖是獨佔鎖。

哲學家就餐問題
維基百科上面介紹了哲學家就餐問題哲學家就餐問題
解法三種:
1、服務生解法
2、資源分級解法
3,Chandy/Misra解法