TerminateThread()在终止线程时返回错误

时间:2013-06-08 08:12:54

标签: c windows multithreading createthread

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

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

是否因为ThreadA可能无权终止ThreadB?我真的很困惑这种情况。

1 个答案:

答案 0 :(得分:1)

一般情况下,永远不要使用TerminateThread因为你可以保留锁定并导致各种问题。 As MSDN says

MSDN

你可以做的是让你的线程在一个事件对象上等待,你可以用它来发出另一个线程的终止信号。

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

示例位于this SO answer here