首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

有没有高效迅速干净的退出线程的方法解决方案

2012-03-29 
有没有高效迅速干净的退出线程的方法一般来说线程不应该用Teminate退出,尽管这是避免访问违例、而且快速的

有没有高效迅速干净的退出线程的方法
一般来说线程不应该用Teminate退出,尽管这是避免访问违例、而且快速的退出方法,如果程序结束,这没有什么问题,但是如果程序不是退出操作,仅仅是结束这线程的操作,这个方法就不好了。

如果一个常驻线程,周期性的做一些工作,这种时候一般用Sleep挂起这个线程。但是要退出它的时候,如果这个周期比较长,比如10秒以上,你不能要求一个操作10S后才完成,因为可能还有进行下一步操作,我们希望快速干净的结束这个线程。

我只想到了一个方法,就是Sleep 0.1秒,然后自己累加获得需要的时间,而退出时,0.1秒的等待,还是可以接受的。

[解决办法]

探讨
一般来说线程不应该用Teminate退出,尽管这是避免访问违例、而且快速的退出方法,如果程序结束,这没有什么问题,但是如果程序不是退出操作,仅仅是结束这线程的操作,这个方法就不好了。

如果一个常驻线程,周期性的做一些工作,这种时候一般用Sleep挂起这个线程。但是要退出它的时候,如果这个周期比较长,比如10秒以上,你不能要求一个操作10S后才完成,因为可能还有进行下一步操作,我们希望快速干净……

[解决办法]
用事件啊。
[解决办法]
暂同#5, 使用 CreateEvent / WaitForSingleObject

热点排行