使用全局变量来同步线程是有问题的,
你可以使用 MFC提供的 CMutex CEvent, C.................
等这样一些线程同步对象来实现具体是先设置 CMutex等这样一些东西
在线程里访问这些对象,根据他们的状态来处理
最后,使用 WaitForSingleObject( youThreadHandle );
来等待线程结束。
这样就主线程能够安全退出。
================================================================
Country roads, take me home to the place I belong, West
0AVirginia, Mountain Mama. Take me home, country roads.
================================================================
你可以使用 MFC提供的 CMutex CEvent, C.................
等这样一些线程同步对象来实现具体是先设置 CMutex等这样一些东西
在线程里访问这些对象,根据他们的状态来处理
最后,使用 WaitForSingleObject( youThreadHandle );
来等待线程结束。
这样就主线程能够安全退出。
================================================================
Country roads, take me home to the place I belong, West
0AVirginia, Mountain Mama. Take me home, country roads.
================================================================
解决方案 »
- 如何在CPrintDialog中设置指定的打印机,而不是默认的?
- 如何实现RDP服务器,就是远程桌面的服务器端?类似WinConnect Server XP的功能
- 怎样实现点击一个菜单项后弹出一个对话框?
- WNetAddConnection2的问题 ?
- 有报酬解决算法问题 有意者请留下qq msn或者email 好交流 深圳地区最好
- 高手请进!!!!!!!!!!!!!!!!
- MFC静态拆分
- help me:如何调整控件Property Sheet大小?
- vs2010编译的模块和vc6编译的模块能混合使用吗
- 知道文档的路径的文件名,MDI程序中如何打开。
- 开始菜单里没有“运行”项,怎么打开注册表?
- 简单问题!全局函数中怎么使用文档的数据成员?
我看不出来CEvent比全局变量好什么,
而且,好像换了也不能解决我的问题阿
你在主线程退出时;
m_hThread//辅助线程;
if(WaitForSingleObject(m_hThread,THREADSTOPWAITTIME)==WAIT_TIMEOUT) TerminateThread(m_hThread,0);
CloseHandle(m_hThread);Ok了吧;
其实就是在EXitinstance()里头,
使用do{} while( //辅助线程终止),
对不对?其实用全局变量也可以,
不过我换成CEVENT吧,毕竟要高级一些,:)