如何在c中退出或停止正在运行的线程?

时间:2010-05-27 08:04:20

标签: c winapi multithreading

我正在使用Win32 API。

我在c中有一个线程并希望从线程外侧终止它所以不能使用exitthread()

我无法使用任何等待选项,因为我必须杀死此线程并在很短的时间内重新启动它。

需要帮助,

1 个答案:

答案 0 :(得分:4)

您可以使用从CreateThread获得的线程句柄使用TerminateThread来热线程。 见http://msdn.microsoft.com/en-us/library/ms686717(VS.85).aspx

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

考虑线程可以分配资源,在您描述时终止它时不会释放。示例:如果线程已进入临界区并在离开前终止,则您将无法使用其他线程进入CS。