如何从Visual Studio手动终止特定(正在运行)的线程

时间:2012-10-30 15:40:46

标签: c# .net multithreading visual-studio-2010 visual-studio

出于测试的目的,我需要手动从Visual Studio中杀死一个命名线程(在调试会话中) - 或者允许我这样做的任何其他工具?

但Visual Studio 2010中的Threads调试窗口在线程的上下文菜单中只有Freeze选项,而Sysinternal的ProcessExplorer仅列出进程,而不是线程。

有没有办法手动杀死特定(正在运行)的线程?

1 个答案:

答案 0 :(得分:2)

要杀死一个线程并不容易,因为该语言的设计者想要避免以下问题:你的线程需要锁定,然后你才能释放它...现在任何需要锁定的人都会卡住了。

您需要做的是使用一些全局变量来告诉线程停止。您必须在线程代码中手动检查全局变量,如果看到它则返回,表明您应该停止。