@2017-11-22
源由
今天視頻分發任務反饋故障了,三個進程的同步果然發生問題了。
過程
播放器佔用視頻文件,對視頻文件進行刪除和重命名操作。
具體操作是這樣的
文件是否存在
重命名或刪除是否成功
現象
傳輸的臨時文件更名爲WMV失敗,關閉播放器文件後文件消失。
在程序運行,播放器未關閉的日誌中,好像判斷文件存在和刪除居然返回了文件不存在。
重命名失敗了。
經驗
1
猜測是不是在目錄項標記爲刪除,然後當引用技術爲0時,文件纔會被刪掉。
尋求官方文檔時
2
//謹慎使用下述代碼
if (IsFileExist(name))
{
IsFileRemove(name);
}
// you should be carefor when you want to do sonthing related to the deleted file
//用多線程,多進程的思維考慮問題。