+ -
当前位置:首页 → 问答吧 → 还是关闭线程!真心求助!

还是关闭线程!真心求助!

时间:2011-12-12

来源:互联网

最近写了个ftp的下载程序,后台单独开了个线程用于下载数据,当文件列表发生变化时要重新下载。这时就需要关闭先前的下载线程。问题就处在这,我现在怎么也关不掉先前的下载线程!我知道强制关闭不好,我也知道最好的方法是让线程自动退出。我也看了坛子了很多帖子。用了TerminateThread()这个函数也关闭不了,并且我的线程函数里最耗时的是一个curl_easy_perform()的函数,没有循环,所以用循环这个,从外部传信号量也不好使!说了这么多归结下我的问题:
1.我要在线程外杀死一个线程。
2.我知道最好的方式是让其自动退出,而不是强制关闭。
3.TerminateThread无效,杀不死这个线程。
4.SuspendThread无效,无法挂起这个线程。(无限挂起的这个我也想过)
5.内部有一个耗时的下载函数,是使用别人的库,所以用循环传信号量这种方法也无效。

我现在是真的想不到有什么其他办法了!求救

作者: lr286050514   发布时间: 2011-12-12

这个curl_easy_perform可能你需要重写了该函数了

作者: VisualEleven   发布时间: 2011-12-12

将阻塞的函数用select改成非阻塞的,这样就可以随时循环了。

作者: jennyvenus   发布时间: 2011-12-12

热门下载

更多