您好我有以下測試代碼:resetAbort做什麼?
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」 - 看起來這個程序並沒有結束。你知道爲什麼嗎?謝謝!
哦..我省略了內循環...所以程序永遠不會結束。謝謝! – spspli
它取消了放棄請求 - 所以它會從內部恢復(true),對不對? – spspli
不客氣。 –