操作系統對線程有幾種狀態的變化:執行,掛起和恢復執行。
當線程做完任務或者現在想暫停線程運行,就需要使用SuspendThread來暫停線程的執行,當然恢復線程的執行就是使用ResumeThread函數了。這兩個函數使用很簡單的,下面就來看看例子是怎麼樣使用的。
函數SuspendThread和ResumeThread聲明如下:
WINBASEAPI
DWord
WINAPI
SuspendThread(
__in HANDLE hThread
);
WINBASEAPI
DWord
WINAPI
ResumeThread(
__in HANDLE hThread
);
hThread是線程的句柄。
調用函數的例子如下:
#001 //線程的暫停和恢復。
#002 //蔡軍生 2007/10/15 QQ:9073204 深圳
#003 void ThreadSuspendResume(void)
#004 {
#005 ::SuspendThread(m_hThread);
#006
#007 Sleep(10);
#008 ::ResumeThread(m_hThread);
#009 }
#010
第5行是暫停線程執行。
第8行是繼續線程執行