CWinThread類

CWinThread類封裝了對執行緒的操作,一個CWinThread對象代表在應用程式中一個執行緒的執行。在MFC應用程式中,主執行執行緒是CWinThread派生類CWinApp的派生類對象。由CWinApp類派生的新類都是用戶界面執行緒。

基本介紹

  • 中文名:CWinThread類
  • 作用:封裝了對執行緒的操作
  • 定義:代表在應用程式中一個執行緒的執行
  • 用途:派生的新類都是用戶界面執行緒
成員變數,成員函式,重載函式,

成員變數

CWinThread類的成員變數有以下5個:
m_bAutoDelete:執行緒終止時是否自動銷毀。
m_hTread:當前執行緒的句柄。
m_nTreadID:當前執行緒的標識。
m_pMainWnd:應用程式主視窗指針
m_pActiveWnd:激活視窗指針。

成員函式

CWinThread類的常用成員函式如下:
1、調用CreateTread函式用於創建一個新執行緒,函式聲明如下:
BOOL CreateTread
{
DWORD dwCreateFlags=0, //執行緒創建標誌
UINT nStackSize=0, //執行緒堆疊大小
LPSECURITY_ATTRIBUTES lpSecurityAttrs=NULL //執行緒的安全屬性
};
2、調用GetTreadPriority函式獲取執行緒的優先權,函式聲明如下:
int GetTreadPriority();
執行緒的優先權取值如下:
THREAD_PRIORITY_TIME_CRITICAL:實時優先權
THREAD_PRIORITY_HIGHEST:比普通優先權高兩個單位
THREAD_PRIORITY_ABOVE_NORMAL:比普通優先權高一個單位
THREAD_PRIORITY_NORMAL:普通優先權
THREAD_PRIORITY_BELOW_NORMAL:比普通優先權低一個單位
THREAD_PRIORITY_LOWEST比普通優先權低兩個單位
THREAD_PRIORITY_IDLE:空閒優先權
3、調用SetThreadPriority函式用於設定執行緒的優先權,函式聲明如下:
int nPriority; //優先權
);
4、調用PostThreadMessage函式用於向另一個CWinThread對象傳送信息,函式聲明如下:
BOOL PostThreadMessage(
UINT message, //用戶定義訊息標識
WPARAM wParam, //訊息的第一個參數
LPARAM lParam //訊息的第二個參數
);
5、調用SuspendThread函式用於將執行緒的掛起計數加1,當執行緒的掛起計數大於0時,該執行緒將暫停執行,稱之為掛起狀態。函式聲明如下:
DWORD SuspendThread();
6、調用ResumeThread函式用於將生成的掛起計數減1,當執行緒的掛起計數減少到0時,恢複線程的執行。函式聲明如下:
DWORD ResumeThread();

重載函式

CWinThread類的常用重載函式如下:
1、重載InitInstance函式用與執行執行緒實例的初始化工作。函式聲明如下:
virtual BOOL InitInstance();
2、重載ExitInstance函式用於執行清理工作,函式聲明如下:
virtual int ExitInstance();
3、重載OnIdle函式用於執行執行緒空閒處理工作,函式聲明如下:
virtual BOOL OnIdle(
LONG ICount //計數器
);

相關詞條

熱門詞條

聯絡我們