定义:守护线程--也称“服务线程”,在没有用户线程可服务时会自动离开。

优先级:守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。

设置:通过setDaemon(true)来设置线程为“守护线程”;将一个用户线程设置为守护线程的方式是在线程启动用线程对象的setDaemon方法。

python Thread对象的setDaemon(True)的作用

1、如果主线程是永远都不会结束的,那设置一个线程为守护线程是没必要的,设不设置都一样。

2、什么时候需要设置为守护线程?如果希望子线程一直运行,可以把子线程的代码写在while True里面一直循环,但同时要设置为守护线程,不然主线程结束了,子线程还一直运行,程序结束不了。

setDaemon()
(1)默认值是False,此时只有当子线程结束之后,主线程才会退出,
(2)设置为True时,就相当于是守护线程,该线程进入后台工作,可以把其想为不是很重要的线程。当主线程结束之后,不管子线程是否结束,子线程都会随着主线程的结束而被强制停止回收。这样的意义在于:避免了子线程出现死循环而导致整个程序无法退出,或者主进程结束后,还需要逐个检查后台进程并关闭,或者避免出现孤儿进程的现象。

参考:

python Thread对象的setDaemon(True)的作用。 - 北风之神0509 - 博客园https://www.cnblogs.com/ydf0509/p/9334117.html python多线程的守护线程thread.setDaemon()_m0_51353579的博客-CSDN博客看完了一些博主的文章后的一点小结:setDaemon()(1)默认值是False,此时只有当子线程结束之后,主线程才会退出,(2)设置为True时,就相当于是守护线程,该线程进入后台工作,可以把其想为不是很重要的线程。当主线程结束之后,不管子线程是否结束,子线程都会随着主线程的结束而被强制停止回收。这样的意义在于:避免了子线程出现死循环而导致整个程序无法退出,或者主进程结束后,还需要逐个检查后台进程并关闭,或者避免出现孤儿进程的现象。...https://blog.csdn.net/m0_51353579/article/details/114549148

理解:守护线程---理解相关推荐

  1. Java线程之守护线程(Daemon)

    http://blog.csdn.net/mq612/article/details/1520571 守护线程(Daemon) Java有两种Thread:"守护线程Daemon" ...

  2. Java线程之守护线程(Daemon) .

    http://blog.csdn.net/mq612/article/details/1520571 守护线程(Daemon) Java有两种Thread:"守护线程Daemon" ...

  3. daemon 守护线程

    Daemon线程是一种支持性线程,因为它主要用作程序中台调度以及支持性工作.这意味着,当一个Java虚拟机中不存在非Daemon线程的时候,Java虚拟机将会推出.可以通过调用Thread.setDa ...

  4. 对Python threading.Thread(daemon=True)线程守护的理解

    最近在练习python多线程编程时发现,在子线程中设置sys.exit()无法退出整个线程,但是如果想达到此目的又不想使用 os._exit()这种暴力的方法,可以使用daemon线程守护.结合网上零 ...

  5. 守护线程Daemon的理解

    1.守护线程伴随着主线程的销毁而销毁: 2.jvm虚拟机中有很多守护线程,随着main函数的结束而结束,自动回收栈中的内容. Thread t1 = new Thread(){@Overridepub ...

  6. 守护线程setDaemon的理解

    守护进程就是守护主线程的一个独立线程,作为辅助线程,跟随主线程.主线程停止,守护线程也就跟随停止. 主要作用是提供计数等功能,如gc内存清理就是跟随的守护线程,GC (垃圾回收器),它就是一个很称职的 ...

  7. 简单理解JAVA中什么是守护线程,什么是非守护线程?

    java中守护线程和非守护线程 什么是守护线程,什么是非守护线程? java有两种状态的线程 守护线程与非守护线程的区别 守护线程与非守护线程代码演示区别 创建守护线程 守护线程:主线程销毁停止,守护 ...

  8. 深入理解JAVA线程池

    深入理解JAVA线程池 前言 多线程的异步执行方式,虽然能够最大限度发挥多核计算机的计算能力,但是如果不加控制,反而会对系统造成负担.线程本身也要占用内存空间,大量的线程会占用内存资源并且可能会导致O ...

  9. 深入理解CUDA线程层次以及关于设置线程数的思考

    深入理解CUDA线程层次以及关于设置线程数的思考 2015-09-16 08:45 215人阅读 评论(0) 收藏 举报 分类: cuda(24) GPU线程以网格(grid)的方式组织,而每个网格中 ...

  10. GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考

    GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考 标签: cuda存储线程结构网格 2012-12-07 16:30 6298人阅读 评论(4)收藏 举 ...

最新文章

  1. 推荐算法矩阵分解实战——keras算法练习
  2. 简述ajax的重构原因,Ajax 重构的步骤
  3. 不为人知的AI简史:“人机共生 ”梦想家 , 却意外促成互联网的出现
  4. autojs 如何获取控件的desc_Autojs Pro中,常用的几个选择器搜索接口的区别-技术类-雨后春笋...
  5. c语言输入三个数判断等边三角形,随便输入三个数,看能否组成一个三角形
  6. 浅谈MVP与Model-View-ViewModel(MVVM)设计模式
  7. python Fabric库学习
  8. SpringBoot 整合 Shiro实践
  9. 减少浏览器的兼容性问题
  10. [转贴]降低网络延迟的方法
  11. ElementUI自定义主题颜色
  12. 机器学习初学者入门实践:怎样轻松创造高精度分类网络
  13. 优制网亮相“2016工业软件与制造业融合发展论坛”
  14. Windows常见基本进程三:dumprep or dumprep进程(Dump Reporting Tool启动项)
  15. <马哲>价值规律的内容、表现形式及其作用
  16. [软件工具][原创]pcl引用库一键配置到VisualStudio中支持vs2015-v2022使用教程
  17. 狗狗先天遗传性格如何改变
  18. 如何使用Flask和Heroku在Facebook Messenger上创建ChatBot
  19. 基于Unity实现第三人称移动旋转以及视角控制
  20. 抖音神器---Java实现图片(Image)转字符(ASCII)图片

热门文章

  1. 黑盒测试用例设计 - 功能图法
  2. 即时通讯加密方案探讨
  3. 大数据技术---云数据库
  4. 计算机技术核心期刊一览
  5. 【AOP顺序—Spring4对比Spring5】
  6. JSHint 使用说明
  7. mount or unmount
  8. 高斯混合模型 Gaussian Mixture Model | GMM
  9. UIButton详解
  10. ComBox基本使用