5

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

但是ThreadsVisual Studio 2010 中的 Debug Window 只Freeze在线程的上下文菜单中有一个选项,而 Sysinternal 的ProcessExplorer只列出进程,而不是线程。

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

4

1 回答 1

2

仅仅杀死一个线程并不容易,因为该语言的设计者希望避免以下问题:您的线程获取一个锁,然后在它释放它之前杀死它......现在任何需要该锁的人都会卡住。

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

于 2012-10-30T15:43:09.390 回答