免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 盖茨他爹
打印 上一主题 下一主题

怎么杀死子线程啊 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-03-09 13:33 |只看该作者
本帖最后由 luffy.deng 于 2010-03-09 14:39 编辑

回复 10# 盖茨他爹

论坛徽章:
0
12 [报告]
发表于 2010-03-09 14:38 |只看该作者
回复 10# 盖茨他爹

没有循环怎么持续?

论坛徽章:
0
13 [报告]
发表于 2010-03-09 15:12 |只看该作者
比如用execfile执行web.py的WEB服务
  1. execfile("code.py")
复制代码

论坛徽章:
0
14 [报告]
发表于 2010-03-09 21:10 |只看该作者
本帖最后由 luffy.deng 于 2010-03-09 21:12 编辑
需要被杀死的那个子线程是持续的,没有循环的(比如一个HttpServer服务),所以子线程也没有机会去循环取读那个全局变量,我在5楼用子线程建了一个孙线程,用孙线程来执行那个持续的任务,用子线程去循环取读那个全局变量,但是子线程退出了孙线程并没有随着子线程退出
盖茨他爹 发表于 2010-03-09 13:28



   

setdaemon没有父子孙这样的概念吧,只会随主线程退出而退出。不知道你的具体应用,如果主线程里有部分任务需要继续执行你可以把这些任务单独放到一个线程里。比如  主线程开两个线程 t1   t2 ,t1里是主线程退出后要继续执行的任务,t2是execfile的任务 t2设置setdaemon(true),必要的时候把主线程结束t2结束,t1继续执行。

论坛徽章:
0
15 [报告]
发表于 2010-03-10 12:14 |只看该作者
回复 14# luffy.deng


    这个方法不错,以前没想到过{:3_189:} ,以后遇到需要杀死子线程的就这么做。不过我现在这个项目用不上了,是有“开始按钮”和“停止按钮”那种,也就是说子线程随时可开可关,并不是关闭一次子线程就不开了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP