【问题标题】:how to exit or stop a running thread in c?如何在c中退出或停止正在运行的线程?
【发布时间】:2010-05-27 08:04:19
【问题描述】:

我正在使用 Win32 API。

我在 c 中有一个线程,想从线程外部终止它,所以不能使用 exitthread()

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

需要帮助,

【问题讨论】:

标签: c winapi multithreading


【解决方案1】:

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

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

考虑线程可以分配资源,当您按照您的描述终止它时不会释放这些资源。示例:如果线程进入临界区并在离开前终止,您将无法与其他线程一起进入 CS。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多