如何在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

回到顶部