SuspendThread,暂停指定的线程。
SuspendThread 函数
函数作用:暂停指定的线程(Suspends the specified thread.)
函数相关:在 64位应用中使用 Wow64SuspendThread函数
(A 64-bit application can suspend a WOW64 thread using the Wow64SuspendThread function)
WINAPI函数原型(C++):
相关资料:
Parameters
Return value
If the function succeeds, the return value is the thread's previous suspend count; otherwise, it is (DWORD) -1. To get extended error information, use the
GetLastError function.
Remarks
If the function succeeds, execution of the specified thread is suspended and the thread's suspend count is incremented. Suspending a thread causes the thread to stop executing user-mode (application) code.
This function is primarily designed for use by debuggers. It is not intended to be used for thread synchronization. Calling SuspendThread on a thread that owns a synchronization object, such as a mutex or critical section, can lead to a deadlock if the calling thread tries to obtain a synchronization object owned by a suspended thread. To avoid this situation, a thread within an application that is not a debugger should signal the other thread to suspend itself. The target thread must be designed to watch for this signal and respond appropriately.
Each thread has a suspend count (with a maximum value of MAXIMUM_SUSPEND_COUNT). If the suspend count is greater than zero, the thread is suspended; otherwise, the thread is not suspended and is eligible for execution. Calling SuspendThread causes the target thread's suspend count to be incremented. Attempting to increment past the maximum suspend count causes an error without incrementing the count.
The
ResumeThread function decrements the suspend count of a suspended thread.
Windows Phone 8.1: This function is supported for Windows Phone Store apps on Windows Phone 8.1 and later.
Windows8.1 and Windows Server2012R2: This function is supported for Windows Store apps on Windows8.1, Windows Server2012R2, and later.
Requirements