我有2個線程通過向對方發送文件進行通信。當線程#1做一個File.Create似乎鎖定了該文件。我怎樣才能避免這種情況?
// Thread #1
File.Create(@"C:\somedir\response.done");
然後線程#2應該刪除它。
// Thread #2
while (!File.Exists(@"C:\somedir\response.done"))
Thread.Sleep(100);
while (File.Exists(@"C:\somedir\response.done"))
{
try {
File.Delete(@"C:\somedir\response.done");
}
catch { Thread.Sleep(1000); };
}
但是,該文件似乎被鎖定。目錄中生成了一個response.done文件,但它永遠不會被刪除。當我嘗試手動刪除它時,
「該操作無法完成,因爲該文件在MyProgram中打開。關閉該文件並重試。」
我該如何避免這種情況?
這確實工作。現在它運行順利。謝謝。 –