python实现守护进程_linux 守护进程

python实现守护进程_linux 守护进程什么是守护线程:在后台运行,为其他线程提供服务的线程成为守护线程。为什么要引入守护线程:thread模块不支持守护线程的概念,当主线程退出时,所有的子线程都将终止,不管它们是否仍在工作,如果你不希望发生这种行为,就要引入守护线程的概念。守护线程的调用格式:thread.setDaemon(True)如何使用守护线程:1.当只有一个子线程并且为守护线程,那么这个守护线程就会等待主线程运行完毕后挂掉2…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

什么是守护线程:在后台运行,为其他线程提供服务的线程成为守护线程。

为什么要引入守护线程:

thread模块不支持守护线程的概念,当主线程退出时,所有的子线程都将终止,不管它们是否仍在工作,

如果你不希望发生这种行为,就要引入守护线程的概念。

守护线程的调用格式:thread.setDaemon(True)

如何使用守护线程:

1.当只有一个子线程并且为守护线程,那么这个守护线程就会等待主线程运行完毕后挂掉

2.当有多个子线程时,守护线程就会等待所有的子线程运行完毕后,守护线程才会挂掉

什么时候设置守护线程:

如果主线程准备退出时,不需要等待某些子线程执行完成,就可以为这些子线程设置守护线程标记。该标记为真时,表示该线程是不重要的,或者说该线程只是用来等待客户端请求而不做任何其它事情。

使用守护线程的前提:

1.要将一个线程设置为守护线程,需要在启动线程之前执行如下赋值语句:thread.daemon=True。

2.要检查线程的守护状态,也只需要检查这个值即可。一个新的子线程会继承父线程的守护标记。

3.主线程将在所有非守护线程退出之后才退出,换句话说,就是没有存活的非守护线程时。

守护线程在threading模块中的工作方式:

守护线程一般是一个等待客户端请求服务的服务器。如果没有客户端请求,守护线程就是空闲的,如果把一个线程设置为守护线程,就表示这个线程是不重要的,进程退出时就不需要等待这个线程执行完成。

注意:

1、守护线程会在该进程内所有非守护线程全部都运行完毕后,守护线程才会挂掉。

2、守护线程守护的是:当前进程内所有的子线程!

3、主线程在其他非守护线程运行完毕后才算运行完毕,守护线程在此时被回收。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184356.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基于SpringBoot使用AOP技术实现操作日志管理[通俗易懂]

    基于SpringBoot使用AOP技术实现操作日志管理[通俗易懂]操作日志对于程序员或管理员而言,可以快速定位到系统中相关的操作,而对于操作日志的管理的实现不能对正常业务实现进行影响,否则即不满足单一原则,也会导致后续代码维护困难,因此我们考虑使用AOP切面技术来实现对日志管理的实现。文章大致内容:1、基本概念2、基本应用3、日志管理实战对这几部分理解了,会对AOP的应用应该很轻松。一、基本概念项目描述Aspect(切面)…

    2022年6月5日
    55
  • tabnine idea激活码【在线注册码/序列号/破解码】「建议收藏」

    tabnine idea激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    169
  • DAVINCI DM365-DM368开发攻略——开发环境搭建(DVSDK4.02) 适用于DM3730[通俗易懂]

    DAVINCI DM365-DM368开发攻略——开发环境搭建(DVSDK4.02) 适用于DM3730[通俗易懂]DAVINCIDM365-DM368开发攻略——开发环境搭建(DVSDK4.02)标签:开发环境 搭建 dvsdk DM368 DM365原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://zjbintsystem.blog.51cto.com/964211/621435第一节、 技术开发环

    2022年8月13日
    1
  • Oracle连接查询,彻底搞懂外连接(左外连接&右外连接)

    Oracle连接查询,彻底搞懂外连接(左外连接&右外连接)Oracle连接查询有3种:交叉连接、内连接、外连接。交叉连接结果是其他连接结果的超集,外连接结果是内连接结果的超集。接下的例子以departments_v、employees_v两个视图数据为例(4条部门数据,9条人员数据)1.交叉连接:又称笛卡尔积连接,是两个或多个表间的无条件连接,因此它会将表1的每一条数据与表2的每一条数据连接,因此结果会有4*9=36条数据

    2022年5月5日
    281
  • php curl header设置参数[通俗易懂]

    php curl header设置参数[通俗易懂]header中的三种方式$header=array(‘Content-type:application/x-www-form-urlencoded;charset=UTF-8’);$header=array(‘Content-type:application/json;charset=UTF-8’);$header=array(‘Accept:application/json…

    2022年7月27日
    66
  • 数据库精华,出自 十步一杀的博客

    数据库精华,出自 十步一杀的博客SQLite3一列多行合并为一列一行分类: 数据库2013-06-2517:02 379人阅读 评论(0) 收藏 举报A  B         ———-      1  中  1  人    2  三2  天2  李变成:A  B——————-1  中,

    2022年7月27日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号