1

我有一个使用该CreateThread函数创建的 ThreadA。在 ThreadA 内部,另一个线程 ThreadB 是使用该CreateThread函数创建的。

现在,我想从 ThreadA 终止 ThreadB 但TerminateThread函数失败。

是不是因为 ThreadA 可能无权终止 ThreadB?我真的对这种情况感到困惑。

4

1 回答 1

1

一般来说,永远不要使用,TerminateThread因为你可以保持锁定并导致各种问题。正如 MSDN 所说

MSDN

你可以做的是让你的线程等待一个事件对象,你可以用它来表示另一个线程的终止。

如果您需要在某些正常线程处理中对终止信号执行定期检查,您可以将等待超时设置为零,以便您的线程在等待终止时仍然可以工作。

一个例子是在这个 SO answer here中。

于 2013-06-10T06:04:56.383 回答