CWinThread类

王朝百科·作者佚名  2010-09-05  
宽屏版  字体: |||超大  

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();

线程的优先级取值如下:

[1]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 //计数器

);

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有