词条 | 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条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。