读书人

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

发布时间: 2012-03-29 12:53:12 作者: rapoo

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

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

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

[解决办法]

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

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

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

读书人网 >VC/MFC

热点推荐