我使用多執行緒從很多鏈接(400以上)上下載檔案,在執行緒池里開10個執行緒,先下載到快取目錄,使用MoveFile API函式將下載好的檔案移動到同目錄下的另外一個檔案夾中,結果有的檔案夾移動到目標檔案夾后,在原來的目錄下還有。本來應該是原來的目錄下檔案被剪切到目標目錄下,求解是怎么回事?
if(MoveFile(file_old,file_new) )
{
log("Move ok")
}
MoveFile 回傳的是非零值,true;
所以日志列印是OK的,但是結果不盡人意,求蓋樓啊!
uj5u.com熱心網友回復:
應該是寫快取檔案的執行緒還沒有關閉檔案,而MoveFile函式已完成拷貝任務。uj5u.com熱心網友回復:
找到原因了,因為下載的鏈接里面存在重復的鏈接uj5u.com熱心網友回復:
這個原因比較意外啊,看來對多檔案下載任務建立一個下載鏈接串列,并進行重復性排除還是非常有必要的!
uj5u.com熱心網友回復:
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/75946.html
