目录

  • 一、守护线程

    • 1.1 详细解释
    • 1.2 守护进程演示

一、守护线程

无论是进程还是线程,都遵循:守护xx会等待主xx运行完毕后被销毁。需要强调的是:运行完毕并非终止运行。

  1. 对主进程来说,运行完毕指的是主进程代码运行完毕
  2. 对主线程来说,运行完毕指的是主线程所在的进程内所有非守护线程统统运行完毕,主线程才算运行完毕

1.1 详细解释

  1. 主进程在其代码结束后就已经算运行完毕了(守护进程在此时就被回收),然后主进程会一直等非守护的子进程都运行完毕后回收子进程的资源(否则会产生僵尸进程),才会结束。
  2. 主线程在其他非守护线程运行完毕后才算运行完毕(守护线程在此时就被回收)。因为主线程的结束意味着进程的结束,进程整体的资源都将被回收,而进程必须保证非守护线程都运行完毕后才能结束。

1.2 守护进程演示

from threading import Thread,enumerate,currentThread
import time
'''
守护线程:守护的是进程的运行周期,只要当前进程中一个线程在运行就会守护
'''
def task():print('守护线程开始')print(currentThread())time.sleep(20)def task2():print('子线程 start')time.sleep(5)print(enumerate())  # 主线程结束了,但是 守护进程并没有死掉print('子线程 end')if __name__ == '__main__':t1 = Thread(target=task)t2 = Thread(target=task2)t1.setName("守护线程")t2.setName("子线程")t1.daemon = True    # 守护线程t2.start()t1.start()print('主')

转载于:https://www.cnblogs.com/XuChengNotes/p/11552843.html

118 Python程序中的线程操作-守护线程相关推荐

  1. 在python程序中的进程操作

    ********在python程序中的进程操作********之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了, 运行中的程序就是一个进程.所有的进程都是通过 ...

  2. python在中小学教学中的应用-在python程序中的进程操作

    ********在python程序中的进程操作********之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了, 运行中的程序就是一个进程.所有的进程都是通过 ...

  3. python启动多个进程_Python程序中的进程操作--—--开启多进程

    Python程序中的进程操作-----开启多进程 之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创 ...

  4. python中flush怎么用,在Python程序中操作文件之flush()方法的使用教程

    在Python程序中操作文件之flush()方法的使用教程 flush()方法刷新内部缓冲区,像标准输入输出的fflush.这类似文件的对象,无操作. Python关闭时自动刷新文件.但是可能要关闭任 ...

  5. python守护线程_Python守护线程用法实例

    本文实例讲述了Python守护线程用法.分享给大家供大家参考,具体如下: 如果你设置一个线程为守护线程,就表示你在说这个线程是不重要的,在进程退出的时候,不用等待这个线程退出.如果你的主线程在退出的时 ...

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

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

  7. 额!Java中用户线程和守护线程区别这么大?

    作者 | 王磊 来源 | Java中文社群(ID:javacn666) 转载请联系授权(微信ID:GG_Stone) 在 Java 语言中线程分为两类:用户线程和守护线程,而二者之间的区别却鲜有人知, ...

  8. 微课系列(7):Python程序中sys.argv的用法

    技术要点: 1)Python程序中如果使用到了sys.argv,这样的程序一般需要在命令提示符环境中运行,而不是在Python开发环境直接中运行. 2)sys.argv是个包含若干字符串的列表,其中s ...

  9. 如何在Python程序中运行Unix命令

    Unix是由Ken Thompson和Dennis Ritchie在1969年左右在AT&T贝尔实验室开发的操作系统. 我们可以使用许多有趣的Unix命令来执行不同的任务. 问题是,我们可以直 ...

  10. 关于python缩进的描述中_关于Python程序中与“缩进”有关的说法中,以下选项中正确的是()...

    关于Python程序中与"缩进"有关的说法中,以下选项中正确的是() 答:缩进在程序中长度统一且强制使用 同文学或同音乐主题的民歌,<_______>是其中之一.此曲经 ...

最新文章

  1. dfs入门排列数字问题(一看就懂的讲解)
  2. 风险管理、收尾管理、知识产权管理
  3. WindowsPhone后台新特性
  4. Genymotion出现unknown generic error和This may occur if you are using a proxy错误的解决方案
  5. 归纳:数据库设计的六个阶段详解(有这一篇就够了)
  6. YARN应用场景、原理与资源调度
  7. 思维题 UVA 10881 Piotr's Ants
  8. windows生成dump文件
  9. 解决IE中img.onload失效的方法
  10. 微软开源AI诊断工具Error Analysis
  11. 用python控制键盘_【python黑科技-pyautogui】教你用python控制滑鼠与键盘
  12. 可输入div的问题探讨
  13. ionic day01教程第一天之多平台运行(ios android)
  14. 京东金融回应用户遭盗刷:系用户点击假冒链接 输短信验证码致密码泄露
  15. r语言 append_Python爬取近十年TIOBE编程语言热度数据并可视化可视化
  16. 三个linux系统共存,修改默认启动
  17. java时钟指针_时钟 走动 一个应用线程实现指针运动的指针时钟程序 联合开发网 - pudn.com...
  18. InsecureProgramming-master——abo1
  19. 更改LXDE的语言为中文
  20. git stach储藏功能(SourceTree 使用方法,Visual studio 2019 中使用

热门文章

  1. 磁盘位置_ORACLE RAC ASM磁盘组迁移到新的ASM磁盘组方法
  2. linux编写设备驱动 编译成ko文件 重新编译内核,Linux内核驱动将多个C文件编译成一个ko文件的方法——每一个C文件中都有module_init与module_exit...
  3. spark结构化流保存mysql_[Spark]-结构化流之输出篇(待重修)
  4. HikariCP 的Java数据库连接池介绍及配置
  5. Java 设计模式 之 适配器模式(Adapter)
  6. 解决(Missing artifact com.oracle:ojdbc14:jar:11.2.0.4.0)
  7. css border 圆角气泡案例
  8. rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构
  9. 截取一段字符串中,两个指定字符串中间的字符串
  10. php opcode缓存