淘宝购物优惠微信群:vc 线程控制事件例子(超赞的!)
来源:百度文库 编辑:中财网 时间:2024/10/05 14:25:53
1. 用MFC AppWizzard(exe) 创建一个project;2. 在ClassView选项卡下,右键单击project的根目录,在弹出菜单中选择”new class”,然后弹出如下的列表框,在Name中填写CMyThread,Base class:选选择CwinThread,点击”OK”.3. 线程创建完毕.4. 为线程类和要调用线程类的类中分别添加3个事件信号public:HANDLE m_hStop;HANDLE m_hStopped;HANDLE m_hExit;5. 重载线程类的构造函数,创建一个有3个参数的线程类的构造函数为public,如:CMyThread (HANDLE hStop,HANDLE hStopped,HANDLE hExit);6. 在要调用此线程类的类中初始化事件信号和线程,如:m_hStop = CreateEvent(NULL,true,false,NULL);m_hStopped = CreateEvent(NULL,true,false,NULL);m_hExit = CreateEvent(NULL,true,false,NULL);m_pThread = new CTestThread(m_hStop,m_hStopped,m_hExit);7. 为线程类和要调用线程类的类中分别添加3个事件信号public:HANDLE m_hStop;HANDLE m_hStopped;HANDLE m_hExit;8. 重写线程类的虚函数run();如:int CMyThread::Run(){CString str;for(int n=0;;n++)//一个死循环{DWORD dw = WaitForSingleObject(m_hStop,0);//等待停止信号if(dw==WAIT_OBJECT_0)break;str.Format("%d",n);m_pMainWnd->PostMessage(WM_TEST,(WPARAM)(str.operator LPCTSTR()),0);Sleep(100);}SetEvent(m_hStopped);//付出关闭线程的信号return CWinThread::Run();}9. 在需要调用此线程类的地方,声明线程类的指针,并调用CreateThread()如下所示:CMyThread* pMyThread = new CMyThread();pMyThread ->CreateThread();10. 重写线程类的ExitInstance()函数,发出关闭信号事件,如:int CTestThread::ExitInstance(){SetEvent(m_hExit);return CWinThread::ExitInstance();}11.线程结束.
超线程的概念,不是线程是超线程??谢谢
线程的控制
超线程和非超线程的区别
任务管理器的超线程
超临界状态 的例子???
关于超线程的开启问题!
什么是CUP的超线程技术?
CPU的超线程技术为何物
超线程的总线怎么算?
求教关于超线程的问题
超线程与Hyper Transport 的区别?
如何关闭CPU的超线程阿?
什么是超线程?电脑主板上的
什么是超线程?电脑主板上的!
怎样样自己的电脑超线程
奔腾3.0是超线程的吗?
P4的哪些处理器是超线程?
双核心与超线程的区别
CPU超线程的死机问题。
CPU超线程的死机问题。
AMD 闪龙有没有支持超线程的?
超线程技术的设计思想
超线程和双核心的区别
什么是“事件分派线程”