→ longhairpan: 先 rename, 再刪檔,連 mutex都省了.. 1.171.70.92 05/28 15:00
情境如下:
我要刪除檔案系統上一個最舊的大型檔案但同時需要寫入新的檔案
目前是用Mutex保護要刪除的檔案,等刪除完成後再繼續寫入新檔案
(因為還有很多條Thread在跑,怕誤用該最舊的檔案所以要保護)
理論上Mutex是不能鎖住長時間的
要避免deadlock
但是因為該檔案太大所以造成刪除的時間過長
另一條Thread要寫入新檔案就被block住
請問有何解法可以同時保護Critical Section但是仍可以讓OS做Context Switch
來達成避免寫入的Thread被刪檔案的Thread block住的問題
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.190.34
※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1429697839.A.2DC.html
※ NIAZ:轉錄至看板 C_and_CPP 04/22 18:25