【发布时间】:2019-10-23 16:30:55
【问题描述】:
我试图中止线程并删除一个文件,但该文件仍然给我消息说它被另一个进程使用。中止线程后,它继续通过 catch 块,我在 Microsoft 中看到一个文档说如果执行 reset.Abort 避免它进入每个 catch 块的末尾,中止过程将被取消,这意味着文件仍然会有一个正在使用它的进程。有没有办法在关闭应用程序并删除文件之前中止我的线程? if(!task.IsCompleted) {
Thread t1 = Thread.CurrentThread;
if (Thread.CurrentThread.Name == null)
{
Thread.CurrentThread.Name = "Action_Thread";
}
try
{
t1.Abort("Aborted");
}
catch(ThreadAbortException ex)
{
Debug.WriteLine(ex.Message);
}
finally
{
Debug.WriteLine("Thread now being aborted");
}
File.Delete("somefile.txt");
【问题讨论】:
标签: multithreading abort