Python守护线程用法实例


Posted in Python onJune 23, 2017

本文实例讲述了Python守护线程用法。分享给大家供大家参考,具体如下:

如果你设置一个线程为守护线程,就表示你在说这个线程是不重要的,在进程退出的时候,不用等待这个线程退出。如果你的主线程在退出的时候,不用等待那些子线程完成,那就设置这些线程的daemon属性。即在线程开始(thread.start())之前,调用setDeamon()函数,设定线程的daemon标志。(thread.setDaemon(True))就表示这个线程“不重要”。

如果你想等待子线程完成再退出,那就什么都不用做,或者显示地调用thread.setDaemon(False),设置daemon的值为false。新的子线程会继承父线程的daemon标志。整个Python会在所有的非守护线程退出后才会结束,即进程中没有非守护线程存在的时候才结束。

看下面的例子:

import time
import threading
def fun():
  print "start fun"
  time.sleep(2)
  print "end fun"
print "main thread"
t1 = threading.Thread(target=fun,args=())
#t1.setDaemon(True)
t1.start()
time.sleep(1)
print "main thread end"

结果:

main thread
start fun
main thread end
end fun

结论:程序在等待子线程结束,才退出了。

设置:setDaemon 为True

import time
import threading
def fun():
  print "start fun"
  time.sleep(2)
  print "end fun"
print "main thread"
t1 = threading.Thread(target=fun,args=())
t1.setDaemon(True)
t1.start()
time.sleep(1)
print "main thread end"

结果:

main thread
start fun
main thread end

结论:程序在主线程结束后,直接退出了。 导致子线程没有运行完。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python批量修改文件后缀的方法
Jan 26 Python
Python 字符串大小写转换的简单实例
Jan 21 Python
Python实现的插入排序算法原理与用法实例分析
Nov 22 Python
python+opencv实现动态物体识别
Jan 09 Python
教你用Python创建微信聊天机器人
Mar 31 Python
pyqt5的QComboBox 使用模板的具体方法
Sep 06 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 Python
Python面向对象进阶学习
May 21 Python
分享8个非常流行的 Python 可视化工具包
Jun 05 Python
Python计算不规则图形面积算法实现解析
Nov 22 Python
django实现模板中的字符串文字和自动转义
Mar 31 Python
python代码中怎么换行
Jun 17 Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 #Python
Django自定义认证方式用法示例
Jun 23 #Python
Django实现的自定义访问日志模块示例
Jun 23 #Python
详解Python文本操作相关模块
Jun 22 #Python
python字符串过滤性能比较5种方法
Jun 22 #Python
Python编程实现的简单Web服务器示例
Jun 22 #Python
Python实现复杂对象转JSON的方法示例
Jun 22 #Python
You might like
php初学者写及时补给skype用户充话费的小程序
2008/11/02 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
PHP简单实现“相关文章推荐”功能的方法
2014/07/19 PHP
php中二分法查找算法实例分析
2016/09/22 PHP
php+js实现裁剪任意形状图片
2018/10/31 PHP
跟着Jquery API学Jquery之一 选择器
2010/04/07 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
尝试在让script的type属性等于text/html
2013/01/15 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
详解Bootstrap插件
2016/04/25 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
jQuery Ztree行政地区树状展示(点击加载)
2016/11/09 Javascript
js实现显示手机号码效果
2017/03/09 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
2018/05/12 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
python的re模块应用实例
2014/09/26 Python
python检测IP地址变化并触发事件
2018/12/26 Python
python 批量下载bilibili视频的gui程序
2020/11/20 Python
Python安装Bs4的多种方法
2020/11/28 Python
英国经典球衣网站:Classic Football Shirts
2017/05/20 全球购物
2019年.net常见面试问题
2012/02/12 面试题
建筑专业自荐信
2013/10/18 职场文书
学校万圣节活动方案
2014/02/13 职场文书
体育教师个人的自我评价
2014/02/16 职场文书
党员党性分析材料
2014/02/17 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
环卫工人慰问信
2015/02/15 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
党员转正党支部意见
2015/06/02 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
剖析后OpLog订阅MongoDB的数据变更就没那么难了
2022/02/24 MongoDB