读书人

那位高手有办法解决这个有关问题

发布时间: 2012-03-27 13:44:24 作者: rapoo

那位高手有办法解决这个问题?
线程里边有两个堵塞函数:CInternetSession的OpenURL()和CHttpFile的ReadString()。现想在OpenURL()和ReadString()发生堵塞时,终止线程。TerminateThread()是可以终止的,但它不能释放线程资源,存在后患。
请问各位高手有没有其它好的办法,请赐教。

[解决办法]
强行中止永远不可能是正确的方式,应该你自己判断,然后让线程自然结束。我觉得你应该给CInternetSession设置timeout时间。
[解决办法]
while循环条件增加一个标记,当超时时更新标记退出线程
[解决办法]
我觉得没有什么好办法,但你可以尽量多的记录申请的空间的地址,这样在调用TerminateThread()前就可以有效的尽可能多的释放空间
[解决办法]
线程最好的结束方法:自然销毁...

其次试试

GetExitCodeThread

ExitThread


[解决办法]
ExitThread(dExitCode)只能在当前线程中用啊,在相应的父线程中返回该线程退出值啊,
不过这又有什么用,还不是强制关闭,跟TerminateThread()一个样

读书人网 >VC/MFC

热点推荐