您好我有以下测试代码:
class Program
{
static void Main(string[] args)
{
Thread t = new Thread(Work);
t.Start();
Thread.Sleep(1000);
t.Abort();
Thread.Sleep(1000);
t.Abort();
Thread.Sleep(1000);
t.Abort();
t.Join();
Console.WriteLine("End");
}
static void Work()
{
int i = 0;
while (i<10)
{
try
{
while(true);
}
catch(ThreadAbortException)
{
Thread.ResetAbort();
}
Console.WriteLine("I will come back!");
i++;
}
}
}
每次中止时,都会执行 Thread.ResetAbort() 。我想知道这个 ResetAbort 做了什么。因为当我运行它时,我看到了以下输出:我会回来的!我会回来!我会回来!而且我没有看到输出“End”——看来这个程序根本没有结束。你知道为什么吗?谢谢!