線程的掛起,喚醒和終止

 //如果是利用h=AfxBeginThread()創建線程,需要獲取句柄,h->m_hThread
線程的掛起
在CreateThread()等函數創建線程時,可以指定線程的掛起狀態,
在運行過程中也可以掛起線程
  DWORD SuspendThread(HANDLE hThread);
  hThread表示線程的句柄
  返回值:成功,返回值爲之前掛起的線程次數,失敗返回0Xffffffff
線程的喚醒
通過喚醒線程恢復線程的執行
  DWORD ResumeThread(HANDLE  hThread);
線程的終止
 3種方式//建議第一種方法
  1:DWORD dwExit;
     BOOL ret=GetExitThread(m_p->handle,&dwExit)//根據句柄獲取線程的狀態
      if(dwExit==STILL_ACTIVE)//線程還在活動
       {
             m_p->ExitInstance();
            delete m_p;
        }//其中m_p的類型是 CWinThread *;
  2: ExitThread(DWORD dwExitCode);
       dwExitCode與1中的dwExit相同
  3:BOOL TeminateThread(HANDLE,DWORD dwExitCode);
         
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章