C++ 线程的创建,挂起,唤醒,终止
例子:
线程代码:DWORD __stdcall ThreadProc(LPVOID lpParameter) { CMultiThreadDlg * pdlg = (CMultiThreadDlg *)lpParameter; pdlg->m_ProCtrl.SetRange32(0,99999); for (int i = 0; i < 99999; i++) { pdlg->m_ProCtrl.SetPos(i); } return 0; }创建线程:void CMultiThreadDlg::OnBtCreate() { m_hThread = CreateThread(NULL,0,ThreadProc,this,0,NULL);}挂起线程:void CMultiThreadDlg::OnBtSuspend() { SuspendThread(m_hThread); }唤醒线程:void CMultiThreadDlg::OnBtResume() { ResumeThread(m_hThread); }终止线程:void CMultiThreadDlg::OnBtTerminate() { TerminateThread(m_hThread); } SuspendThread
该函数用于挂起线程.语法格式如下:DWORD SuspendThread(HANDLE hThread); hThread: 表示线程句柄 返回值: 如果函数执行成功,返回值为之前挂起的线程次数;如果函数执行失败,返回值为0xFFFFFFFFResumeThread
该函数用于煎炒线程挂起的次数,如果线程挂起的次数为0,将唤醒线程.语法格式如下:DWORD ResumeThread(HANDLE hThread); hThread: 表示线程句柄 返回值: 如果函数执行成功,返回值为之前挂起的线程次数;如果函数执行失败,返回值为0xFFFFFFFFExitThread
该函数用于结束当前线程.语法格式如下:VOID ExitThread(DWORD dwExitCode); dwExitCode: 表示线程退出代码TerminateThread
该函数用于强制终止线程的执行.语法格式如下:BOOL TerminateThread(HANDLE hThread, DWORD dwExitCode); hThread: 表示待终止的线程句柄 dwExitCode: 表示线程退出代码