2010-05-27 109 views
0

我正在使用Win32 API。如何退出或停止正在运行的线程?

我有一个在C线程,并希望从出方终止它的线程所以不能使用了ExitThread()

我不能使用任何等待的选项,因为我要杀死这个线程并启动再次在很短的时间内。

需要帮助,

+0

[kill pthread中的线程]可能的重复(http://stackoverflow.com/questions/2084830/kill-thread-in-pthread) – 2010-05-27 08:06:28

+0

[可能会重复使用[正常结束线程而不使用TerminateThread()](http ://stackoverflow.com/questions/1702172/terminating-a-thread-gracefully-not-using-terminatethread) – kennytm 2010-05-27 08:35:48

回答

4

您可以使用thermiate使用TerminateThread你的CreateThread得到了线程句柄的线程。 请参阅http://msdn.microsoft.com/en-us/library/ms686717(VS.85).aspx

请注意MSDN网站中的警告。终止线程是危险的。

想象一下,线程可以分配资源,当您按照描述终止它时,它不会被释放。例如:如果线程已经进入临界区并在离开之前终止,您将无法通过另一个线程进入CS。

相关问题