複製鏈接
請複製以下鏈接發送給好友

CWinThread類

鎖定
CWinThread類封裝了對線程的操作,一個CWinThread對象代表在應用程序中一個線程的執行。在MFC應用程序中,主執行線程是CWinThread派生類CWinApp的派生類對象。由CWinApp類派生的新類都是用户界面線程。
中文名
CWinThread類
作    用
封裝了對線程的操作
定    義
代表在應用程序中一個線程的執行
用    途
派生的新類都是用户界面線程

CWinThread類成員變量

CWinThread類的成員變量有以下5個:
m_bAutoDelete:線程終止時是否自動銷燬。
m_hTread:當前線程的句柄。
m_nTreadID:當前線程的標識。
m_pMainWnd:應用程序主窗口指針
m_pActiveWnd:激活窗口指針。

CWinThread類成員函數

CWinThread類的常用成員函數如下:
1、調用CreateTread函數用於創建一個新線程,函數聲明如下:
BOOL CreateTread
{
DWORD dwCreateFlags=0, //線程創建標誌
UINT nStackSize=0, //線程堆棧大小
LPSECURITY_ATTRIBUTES lpSecurityAttrs=NULL //線程的安全屬性
};
2、調用GetTreadPriority函數獲取線程的優先級,函數聲明如下:
int GetTreadPriority();
線程的優先級取值如下:
THREAD_PRIORITY_TIME_CRITICAL:實時優先級 [1] 
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類重載函數

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