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 相关文章推荐
浅谈终端直接执行py文件,不需要python命令
Jan 23 Python
Django自定义manage命令实例代码
Feb 11 Python
python 多维切片之冒号和三个点的用法介绍
Apr 19 Python
PyCharm安装第三方库如Requests的图文教程
May 18 Python
Python 打印中文字符的三种方法
Aug 14 Python
python实现年会抽奖程序
Jan 22 Python
Python实现KNN(K-近邻)算法的示例代码
Mar 05 Python
Python+opencv 实现图片文字的分割的方法示例
Jul 04 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
Jul 31 Python
在tensorflow以及keras安装目录查询操作(windows下)
Jun 19 Python
基于Python模拟浏览器发送http请求
Nov 06 Python
python Scrapy爬虫框架的使用
Jan 21 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中冒号、endif、endwhile、endfor使用介绍
2010/04/28 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
JavaScript 学习笔记(五)
2009/12/31 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
一些常用且实用的原生JavaScript函数
2010/09/08 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
详解Vue快速零配置的打包工具——parcel
2018/01/16 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
灵活使用console让js调试更简单的方法步骤
2019/04/23 Javascript
如何基于js判断浏览器版本
2020/02/20 Javascript
python中反射用法实例
2015/03/27 Python
python爬虫 urllib模块url编码处理详解
2019/08/20 Python
python如何删除列为空的行
2020/07/17 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
python,Java,JavaScript实现indexOf
2020/09/09 Python
canvas烟花特效锦集
2018/01/17 HTML / CSS
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
旅游网创业计划书
2014/01/31 职场文书
会计专业求职信
2014/08/10 职场文书
销售代理协议书
2014/09/30 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书