怎样在主线程中中止另外一个辅助线程,辅线程内最好不要时时检查某种状态之类的代码 曾听说过可以让辅助线程抛出异常的方式中止,那位高手知道麻烦告诉一声。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用TeminateThread函数不行的,谁也不要用的。 比较好的方法是:设置一信号灯,如:CMutex ,在主线程想结束另一线程时,就将设置信号灯,而在线程中,一但检测到CMutex 被置就自己做好收尾工作后退出执行。 设置Mutex的方式的话需要时时在辅助线程中检查mutex的状态,而我的辅线程里面要调用的函数很多,而且每一个函数执行的时间不定,这样做太烦效率也不高。最好能用让辅线程抛出异常的方式中止它。 可以在辅助线程里面自己写消息循环,检查WM_QUIT消息,然后在主线程里面调用PostThreadMessage发送WM_QUIT消息,用WaitSingleObject等待返回就行了 我正好也碰到了跟楼主一样的问题,共同讨论!不过好像danscort2000说的方法不行,在删除辅助线程的指针的指针后,线程还是在继续工作的。 不过好像danscort2000说的方法不行,在删除辅助线程的指针的指针后,线程还是在继续工作的。建议再试一下,因为这个方法我是在一本经典的教程里看到的,线程被删除后,它的运转就终止了,但是应该等一点时间让系统在切换线程的时候才生效 mfc中编译连接后生成的exe文件为什么运行不了,一运行就报错 关于子窗口中按钮的问题 Esc下面的键是VK_? gif做背景 线程暂停、继续和结束! 如何点击按纽就重命名TreeView上的某个Item,而当平时点击某个Item,不会重命名,就是不响应TVN_ENDLABELEDIT事件 关于debugger的问题,请过来看看 在VC与《编译原理》中,所讲到的“句柄”概念有何不同? 请问一下各位,window 2000的各种图标在那些文件里? 2000下的光驱不能识别CD盘???急! API函数一问?马上结帐 文本框怎么不支持ctrl+c和ctrl+v?
设置一信号灯,如:CMutex ,在主线程想结束另一线程时,就将设置信号灯,而在线程中,
一但检测到CMutex 被置就自己做好收尾工作后退出执行。
不过好像danscort2000说的方法不行,在删除辅助线程的指针的指针后,线程还是在继续工作的。
线程被删除后,它的运转就终止了,
但是应该等一点时间让系统在切换线程的时候才生效