我想用boost :: shared_mutex來實現多讀卡器/單寫入器互斥鎖。我的問題非常簡單,當另一個線程試圖鎖定shared_mutex進行寫入時,線程是否有可能獲得讀者訪問shared_mutex的權限?例如,我有10個線程,只有一個能寫,boost :: shared_mutex多讀卡器/單寫入器互斥鎖
- 線程1對是shared_mutex一個shared_lock並嘗試讀取 東西
- 線程2具有對shared_mutex一個shared_lock並嘗試讀取 東西
- 線3對是shared_mutex一個unique_lock並嘗試寫一些東西
- 線4對是shared_mutex一個shared_lock並嘗試讀取 東西
- 線5對是shared_mutex一個shared_lock並嘗試讀取 東西
的shared_mutex目前贊同線程2鎖,我的問題是,是否有可能螺紋4可以獲得讀訪問到那個shared_mutex之前,線程3能寫?讀者/作者互斥體是否有可能陷入飢餓狀態,例如100個讀者v.s. 1位作家?
謝謝。
Duplicate:http://stackoverflow.com/questions/4203467/multiple-readers-single-writer-locks-in-boost – 2012-02-21 20:18:43
和在這裏:http://stackoverflow.com/questions/989795/example-for- boost-shared-mutex-multiple-reads-one-write – 2012-02-21 20:19:32
相關,但不是愚蠢。 – Thomas 2012-02-21 20:23:15