杀死处于阻塞状态的线程

本文关键字:线程 阻塞状态 | 更新日期: 2023-09-27 18:19:36

我有一个线程,它在某个锁上阻塞自己。现在,出于某种条件,我想终止c#中的线程。但问题是,在thread.abort中并不能保证它会杀死线程。

杀死处于阻塞状态的线程

如果你真的想保证线程死亡,最好的选择是启动一个新进程。

有一个优秀的线程讨论了线程的许多可能陷阱。点击此处。

假设您希望在线程遇到死锁时以确定性的方式终止线程。正确的是的,线程中止不能保证终止,但使用thread.Artrt几乎总是个坏主意。如果有一种方法可以立即终止线程,那么可能会导致更大的问题。如果这个线程已经锁定了一些资源,正在进行一些未提交的事务等,并且持有这些资源的线程突然被终止,则其他线程无法处理这些资源。我能给出的最好的建议是修复死锁问题,而不是屏蔽它。