还是关闭线程!真心求助!
时间:2011-12-12
来源:互联网
最近写了个ftp的下载程序,后台单独开了个线程用于下载数据,当文件列表发生变化时要重新下载。这时就需要关闭先前的下载线程。问题就处在这,我现在怎么也关不掉先前的下载线程!我知道强制关闭不好,我也知道最好的方法是让线程自动退出。我也看了坛子了很多帖子。用了TerminateThread()这个函数也关闭不了,并且我的线程函数里最耗时的是一个curl_easy_perform()的函数,没有循环,所以用循环这个,从外部传信号量也不好使!说了这么多归结下我的问题:
1.我要在线程外杀死一个线程。
2.我知道最好的方式是让其自动退出,而不是强制关闭。
3.TerminateThread无效,杀不死这个线程。
4.SuspendThread无效,无法挂起这个线程。(无限挂起的这个我也想过)
5.内部有一个耗时的下载函数,是使用别人的库,所以用循环传信号量这种方法也无效。
我现在是真的想不到有什么其他办法了!求救
1.我要在线程外杀死一个线程。
2.我知道最好的方式是让其自动退出,而不是强制关闭。
3.TerminateThread无效,杀不死这个线程。
4.SuspendThread无效,无法挂起这个线程。(无限挂起的这个我也想过)
5.内部有一个耗时的下载函数,是使用别人的库,所以用循环传信号量这种方法也无效。
我现在是真的想不到有什么其他办法了!求救
作者: lr286050514 发布时间: 2011-12-12
这个curl_easy_perform可能你需要重写了该函数了
作者: VisualEleven 发布时间: 2011-12-12
将阻塞的函数用select改成非阻塞的,这样就可以随时循环了。
作者: jennyvenus 发布时间: 2011-12-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28