gpt4 book ai didi

c# - 重置中止是做什么的?

转载 作者:行者123 更新时间:2023-11-30 21:15:00 26 4
gpt4 key购买 nike

您好,我有以下测试代码:

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”——似乎这个程序根本没有结束。你知道为什么吗?谢谢!

最佳答案

它取消了中止线程的请求。 As indicated here.所以在这种情况下,循环将继续,线程应该仍然存在。

关于c# - 重置中止是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5969108/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com