如何在C#中立即杀死线程?
我正在使用thread.Abort
杀死线程的方法,但是它不起作用。还有其他终止线程的方法吗?
private void button1_Click(object sender, EventArgs e){
if (Receiver.IsAlive == true)
{
MessageBox.Show("Alive");
Receiver.Abort();
}
else
{
MessageBox.Show("Dead");
Receiver.Start();
}
}
我正在使用它,但是每次获得Alive
状态时,它Receiver
都是我的全局线程。
回答:
很难杀死一个线程的原因是因为语言设计者希望避免以下问题:您的线程需要一个锁,然后在释放它之前先杀死它。现在,任何需要该锁的人都会被卡住。
您要做的是使用一些全局变量告诉线程停止。您必须手动在线程代码中检查该全局变量,如果看到它表明您应该停止,则返回该变量。
以上是 如何在C#中立即杀死线程? 的全部内容, 来源链接: utcz.com/qa/428798.html