请输入您要查询的百科知识:

 

词条 CWinThread类
释义

CWinThread类封装了对线程的操作,一个CWinThread对象代表在应用程序中一个线程的执行。在MFC应用程序中,主执行线程是CWinThread派生类CWinApp的派生类对象。由CWinApp类派生的新类都是用户界面线程。

1.成员变量

CWinThread类的成员变量有以下5个:

m_bAutoDelete:线程终止时是否自动销毁。

m_hTread:当前线程的句柄。

m_nTreadID:当前线程的标识。

m_pMainWnd:应用程序主窗口指针。

m_pActiveWnd:激活窗口指针。

2.成员函数

CWinThread类的常用成员函数如下:

调用CreateTread函数用于创建一个新线程,函数声明如下:

BOOL CreateTread

{

DWORD dwCreateFlags=0, //线程创建标志

UINT nStackSize=0, //线程堆栈大小

LPSECURITY_ATTRIBUTES lpSecurityAttrs=NULL //线程的安全属性

};

调用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:空闲优先级

调用SetThreadPriority函数用于设置线程的优先级,函数声明如下:

BOOL SetThreadPriority(

int nPriority; //优先级

);

调用PostThreadMessage函数用于向另一个CWinThread对象发送信息,函数声明如下:

BOOL PostThreadMessage(

UINT message, //用户定义消息标识

WPARAM wParam, //消息的第一个参数

LPARAM lParam //消息的第二个参数

);

调用SuspendThread函数用于将线程的挂起计数加1,当线程的挂起计数大于0时,该线程将暂停执行,称之为挂起状态。函数声明如下:

DWORD SuspendThread();

调用ResumeThread函数用于将生成的挂起计数减1,当线程的挂起计数减少到0时,恢复线程的执行。函数声明如下:

DWORD ResumeThread();

3.重载函数

CWinThread类的常用重载函数如下:

重载InitInstance函数用与执行线程实例的初始化工作。函数声明如下:

virtual BOOL InitInstance();

重载ExitInstance函数用于执行清理工作,函数声明如下:

virtual int ExitInstance();

重载OnIdle函数用于执行线程空闲处理工作,函数声明如下:

virtual BOOL OnIdle(

LONG ICount //计数器

);

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/24 7:03:52