CWinThread類

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

成員變數

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函式用於設定執行緒的優先權,函式聲明如下:

BOOL 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 //計數器

);

相關詞條

相關搜尋

熱門詞條

聯絡我們