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中__call__内置函数用法实例
Jun 04 Python
浅谈Python中重载isinstance继承关系的问题
May 04 Python
好的Python培训机构应该具备哪些条件
May 23 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
Python程序打包工具py2exe和PyInstaller详解
Jun 28 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
python库matplotlib绘制坐标图
Oct 18 Python
Python3运算符常见用法分析
Feb 14 Python
Python map及filter函数使用方法解析
Aug 06 Python
python中HTMLParser模块知识点总结
Jan 25 Python
Python万能模板案例之matplotlib绘制甘特图
Apr 13 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
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
PHP简单选择排序算法实例
2015/01/26 PHP
php、java、android、ios通用的3des方法(推荐)
2016/09/09 PHP
PHP 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
js window.open弹出新的网页窗口
2014/01/16 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
jQuery实现点击后标记当前菜单位置(背景高亮菜单)效果
2015/08/22 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
Bootstrap禁用响应式布局的实现方法
2017/03/09 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
2017/12/26 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
用Python编写一个国际象棋AI程序
2014/11/28 Python
讲解Python中for循环下的索引变量的作用域
2015/04/15 Python
探究Python中isalnum()方法的使用
2015/05/18 Python
Python中的集合类型知识讲解
2015/08/19 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
美国顶级防滑鞋:Shoes For Crews
2017/03/27 全球购物
白色公司:The White Company
2017/10/11 全球购物
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
回门宴新郎答谢词
2014/01/12 职场文书
门面房租房协议书
2014/08/20 职场文书
请病假条范文
2015/08/17 职场文书
asyncio异步编程之Task对象详解
2022/03/13 Python