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获取远程文件大小的函数代码分享
May 13 Python
Python标准库defaultdict模块使用示例
Apr 28 Python
Python检测网站链接是否已存在
Apr 07 Python
Python中函数及默认参数的定义与调用操作实例分析
Jul 25 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
Jul 11 Python
对Django 转发和重定向的实例详解
Aug 06 Python
python django model联合主键的例子
Aug 06 Python
pytorch 图像预处理之减去均值,除以方差的实例
Jan 02 Python
Python数据相关系数矩阵和热力图轻松实现教程
Jun 16 Python
Python 下载Bing壁纸的示例
Sep 29 Python
Pycharm连接远程服务器并远程调试的全过程
Jun 24 Python
python ConfigParser库的使用及遇到的坑
Feb 12 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
很温暖很温暖的Lester Young
2021/03/03 冲泡冲煮
php把session写入数据库示例
2014/02/26 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
2019/12/31 PHP
javascript this用法小结
2008/12/19 Javascript
javascript 四则运算精度修正函数代码
2010/05/31 Javascript
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
2011/03/12 Javascript
checkbox使用示例
2013/08/23 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
js 颜色选择插件
2017/01/23 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
基于JavaScript实现一个简单的Vue
2018/09/26 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
基于原生JS封装的Modal对话框插件的示例代码
2020/09/09 Javascript
黑科技 Python脚本帮你找出微信上删除你好友的人
2016/01/07 Python
python机器学习之随机森林(七)
2018/03/26 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
Python玩转Excel的读写改实例
2019/02/22 Python
python如何统计代码运行的时长
2019/07/24 Python
Python图片的横坐标汉字实例
2019/12/04 Python
pytorch 修改预训练model实例
2020/01/18 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
音乐专业自荐信
2014/02/07 职场文书
水污染治理工程专业自荐信
2014/06/21 职场文书
自愿解除劳动合同协议书
2014/09/11 职场文书
仓库统计员岗位职责
2015/04/14 职场文书
李强为自己工作观后感
2015/06/11 职场文书
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA