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 2.7.x 和 3.x 版本的重要区别小结
Nov 28 Python
Python bsddb模块操作Berkeley DB数据库介绍
Apr 08 Python
Python实现统计英文单词个数及字符串分割代码
May 28 Python
python比较两个列表是否相等的方法
Jul 28 Python
Python自动化运维之Ansible定义主机与组规则操作详解
Jun 13 Python
Python3内置模块之base64编解码方法详解
Jul 13 Python
python递归下载文件夹下所有文件
Aug 31 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
python中的 zip函数详解及用法举例
Feb 16 Python
Python文本文件的合并操作方法代码实例
Mar 31 Python
用python写爬虫简单吗
Jul 28 Python
Python OpenGL基本配置方式
May 20 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
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
Symfony2实现在doctrine中内置数据的方法
2016/02/05 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
My Desktop :) 桌面式代码
2008/12/29 Javascript
javascript实现网页字符定位的方法
2015/07/14 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
python操作MongoDB基础知识
2013/11/01 Python
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
文明学生标兵事迹
2014/01/21 职场文书
《都江堰》教学反思
2014/02/07 职场文书
努力学习演讲稿
2014/05/10 职场文书
优秀学生党员先进事迹材料
2014/05/29 职场文书
正科级干部考察材料
2014/05/29 职场文书
2014年小学教导处工作总结
2014/12/19 职场文书
办公室主任个人总结
2015/02/28 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
天那边观后感
2015/06/09 职场文书
React如何创建组件
2021/06/27 Javascript
MySQL 计算连续登录天数
2022/05/11 MySQL