本文实例讲述了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 Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

本文标题: Python守护线程用法实例

本文地址: http://www.cppcns.com/jiaoben/python/194460.html

python守护线程_Python守护线程用法实例相关推荐

  1. python局部变量函数_python函数局部变量用法实例分析

    本文实例讲述了python函数局部变量用法.分享给大家供大家参考.具体分析如下: 当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的.这 ...

  2. python分词设计_Python smallseg分词用法实例分析

    这篇文章主要介绍了Python smallseg分词用法,以实例形式分析了Python实现分析的相关技巧,需要的朋友可以参考下 本文实例讲述了Python smallseg分词用法.分享给大家供大家参 ...

  3. python函数形参_python函数形参用法实例分析

    本文实例讲述了python函数形参用法.分享给大家供大家参考.具体如下: 函数形参: 函数取得的参数是你提供给函数的值,这样函数就可以利用这些值 做 一些事情.这些参数就像变量一样,只不过它们的值是在 ...

  4. python开两个守护线程_python 守护线程

    守护线程 如果python线程是守护线程,那么以为着这个线程是"不重要"的,"不重要"意味着如果他的父进程结束了但该守护线程没有运行完,守护进程就会被强制结束. ...

  5. python结束线程池正在运行的线程_python之线程与线程池

    #进程是资源分配的最小单位,线程是CPU调度的最小单位.每一个进程中至少有一个线程.#传统的不确切使用线程的程序称为只含有一个线程或单线程程序,而可以使用线程的程序被称为多线程程序,在程序中使用一个线 ...

  6. python获取当前线程_Python爬虫(线程,进程)

    第一章   线程的使用 并发:指的是任务数多余cpu核数 并行:指的是任务数小于等于cpu核数,即任务真的是一起执行的 1.线程的概念 线程就是在程序运行过程中,执行程序代码的一个分支,每个运行的程序 ...

  7. python asyncio回调函数_python回调函数用法实例分析

    python回调函数用法实例分析 本文实例讲述了python回调函数用法.分享给大家供大家参考.具体分析如下: 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用.回调和异步 ...

  8. python的scatter函数_python scatter函数用法实例详解

    这篇文章主要介绍了python scatter函数用法实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 函数功能:寻找变量之间的关系. 调用签 ...

  9. python装饰器实例-Python装饰器原理与简单用法实例分析

    本文实例讲述了Python装饰器原理与简单用法.分享给大家供大家参考,具体如下: 今天整理装饰器,内嵌的装饰器.让装饰器带参数等多种形式,非常复杂,让人头疼不已.但是突然间发现了装饰器的奥秘,原来如此 ...

最新文章

  1. 电动双联电位器ZW1613
  2. 单片机涡轮流量传感器_暖通慧教你一文读懂流量传感器
  3. 为CentOS 6 配置本地YUM源
  4. GYM101002C - Greetings!
  5. 【Elasticsearch】es 集群健康值 红色 red 分片 未分配
  6. 【现代机器人学】基于指数积的机械臂正运动学
  7. 电力系统微型计算机继电保护试题及答案,全国2010年7月高等教育自学考试电力系统微型计算机继电保护试题及答案.doc...
  8. IDEA 2021首个大版本发布,羊哥反手就是一个更新!附新亮点演示!
  9. Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)
  10. Linux下curses函数库的详细介绍
  11. Go开发之如何破解安装GoLand编译器?
  12. 计算机图形学三(补充):重心坐标(barycentric coordinates)详解及其作用
  13. 小米手环模拟门禁卡读卡失败_一个手环走天下?可以!
  14. 从本体的发展看图书情报学
  15. es6怎么将对象转换为数组
  16. scrapy爬取苏宁所有图书
  17. 如何正确分析你的客户?
  18. LeetCode 39
  19. tbc怀旧服服务器位置,关于《魔兽世界》TBC怀旧服,来看看官方问答汇总吧
  20. Hibernate JPA

热门文章

  1. 1:Hello world
  2. 【SpringBoot2 从0开始】开发小技巧 - lombok、devtools、Spring Initailizr
  3. Go中的函数也是一种数据类型,可以赋值给一个变量
  4. pyspark map代码示例
  5. 【收藏】QGIS加载xyz格式地图(以高德影像图和路网为例)
  6. 大数据集群问题排查:时间不同步导致hbase regionserver只启动了部分节点的进程
  7. helm快速部署一个nginx应用并更改service类型为NodePort、自定义Chart的发布
  8. Dockerfile脚本:CMD与ENTRYPOINT的区别
  9. docker安装elasticsearch并进行目录挂载
  10. Redis配置文件常用配置详解