更新时间:2022-04-12 10:03
使线程的挂起时间计数减一。创建一个挂起的线程或者手动挂起一个线程后调用。调用该函数后线程不一定会立刻执行,而是由操作系统继续调度,直到计数为0,系统为其分配资源时才开始执行。
C++
DWORD WINAPI ResumeThread(_In_ HANDLE hThread);
hthread[in]要重新启动的线程的句柄。此句柄必须具有线程“挂起”恢复访问权限。有关详细信息,请参阅线程安全和访问权限。
如果函数成功,返回值是线程的上一个挂起计数。
如果函数失败,返回值为(dword)-1。要获取扩展错误信息,请调用GetLastError。
resumeThread函数检查主题线程的挂起计数。如果挂起计数为零,则线程当前未挂起。否则,主题线程的挂起计数将减少。如果结果值为零,则继续执行主题线程。
如果返回值为零,则指定的线程没有挂起。如果返回值为1,则指定的线程已挂起,但已重新启动。如果返回值大于1,则指定的线程仍将挂起。
请注意,在报告调试事件时,报告进程中的所有线程都将被冻结。调试程序需要使用suspendthread和resumethread函数来限制可以在进程内执行的线程集。通过挂起进程中除报告调试事件的线程外的所有线程,可以“单步”处理单个线程。如果挂起其他线程,则继续操作不会释放这些线程。
Decrements a thread's suspend count. When the suspend count is decremented to zero, the execution of the thread is resumed.
ResumeThread Function
Decrements a thread's suspend count. When the suspend count is decremented to zero, the execution of the thread is resumed.