※ [本文轉錄自 Programming 看板 #1LDtKlBS ]
作者: NIAZ (扁魚) 看板: Programming
標題: [問題] Mutex long time lock問題
時間: Wed Apr 22 18:17:16 2015
情境如下:
我要刪除檔案系統上一個最舊的大型檔案但同時需要寫入新的檔案
目前是用Mutex保護要刪除的檔案,等刪除完成後再繼續寫入新檔案
(因為還有很多條Thread在跑,怕誤用該最舊的檔案所以要保護)
理論上Mutex是不能鎖住長時間的
要避免deadlock
但是因為該檔案太大所以造成刪除的時間過長
另一條Thread要寫入新檔案就被block住
請問有何解法可以同時保護Critical Section但是仍可以讓OS做Context Switch
來達成避免寫入的Thread被刪檔案的Thread block住的問題