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 从远程服务器下载东西的代码
Feb 10 Python
Python中用PIL库批量给图片加上序号的教程
May 06 Python
通过Python来使用七牛云存储的方法详解
Aug 07 Python
教大家使用Python SqlAlchemy
Feb 12 Python
Python列表生成式与生成器操作示例
Aug 01 Python
python+opencv实现阈值分割
Dec 26 Python
python实现电子产品商店
Feb 26 Python
python getopt模块使用实例解析
Dec 18 Python
Python流程控制常用工具详解
Feb 24 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
Jun 18 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
Jul 20 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 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 cookis创建实现代码
2009/03/16 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
2013/06/28 PHP
微信access_token的获取开发示例
2015/04/16 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
简单实现php上传文件功能
2017/09/21 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
js Date概念详细介绍
2013/11/22 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
Jquery常用的方法汇总
2015/09/01 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
bootstrap模态框垂直居中效果
2016/12/03 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
一文了解Vue中的nextTick
2019/05/06 Javascript
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
详解Python3中字符串中的数字提取方法
2017/01/14 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
对python制作自己的数据集实例讲解
2018/12/12 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
详解python UDP 编程
2020/08/24 Python
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
医学院毕业生自荐信范文
2014/03/06 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
mysql自增长id用完了该怎么办
2022/02/12 MySQL