python 进程守护,守护线程与非守护线程

  python 进程守护,守护线程与非守护线程

  有一种线程是在后台运行的,它的任务是为其他线程提供服务。这种线程称为“守护线程”,也称为“守护线程”或“仙女线程”。Python解释器的垃圾收集线程是典型的后台线程。

  后台线程有一个特点。如果所有前台线程都死了,后台线程也会自动死。

  调用Thread对象的daemon属性将指定线程设置为后台线程。下面的程序将指定的线程设置为后台线程,可以看到当所有前台线程都死了,后台线程也死了。当整个虚拟机只剩下后台线程时,程序就没有继续运行的必要了,于是程序退出。

  导入线程

  #定义后台线程的线程执行器和普通线程没什么区别。

  污损(最大):

  最大范围:

  print(threading.current_thread()。名称字符串(I))

  t=threading . thread(target=action,args=(100,),name=后台线程)

  #将该线程设置为后台线程

  #您也可以在创建线程对象时通过守护进程参数将它设置为后台线程。

  t.daemon=True

  #启动后台线程

  启动()

  (10):

  print(threading.current_thread()。名称字符串(I))

  # -在这里,前台线程(主线程)结束。

  #后台线程也应该随之结束。在上面的程序中,首先将T线程设置为后台线程(第10行代码),然后启动线程。本来这个线程应该执行到I等于99,但是在运行程序的时候不难发现,这个后台线程不能运行到99,因为当主线程,也就是程序中唯一的前台线程运行的时候,程序会主动退出,所以后台线程就结束了。

  从上面的程序可以看出,主线程默认是前台线程,T线程也默认是前台线程。但并不是所有线程默认都是前台线程,有些线程默认是后台线程。前台线程创建的子线程默认为前台线程,后台线程创建的子线程默认为后台线程。

  可以看出,创建后台线程有两种方式:

  将活动线程的daemon属性设置为True。

  后台线程启动的线程默认为后台线程。

  注意,前台线程死亡后,Python解释器会通知后台线程其死亡,但从收到指令到响应需要一段时间。如果要将线程设置为后台线程,则必须在线程启动之前进行设置。也就是说,必须在调用start()方法之前将daemon属性设置为True,否则会抛出RuntimeError异常。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • rxjava是如何实现线程切换的,rxjava线程切换原理面试
  • rxjava是如何实现线程切换的,rxjava线程切换原理面试,RxJava的消息发送和线程切换实现原理
  • pthread线程包常用函数,pthread多线程编程
  • ,,详解_beginthreadex()创建线程
  • c 多线程编程,c多线程编程实例
  • c 多线程编程,c多线程编程实例,VC多线程编程详解
  • java创建线程的三种方式,java线程里面创建线程,一文搞懂Java创建线程的五种方法
  • java中线程池的使用,java线程池好处
  • java中线程池的使用,java线程池好处,Java 线程池的作用以及该如何使用
  • java中线程安全问题有哪些,java中线程安全问题是什么
  • java中线程安全问题有哪些,java中线程安全问题是什么,Java中线程安全问题
  • 线程撕裂者2950x参数,线程撕裂者3995wx参数
  • cas 并发,java多线程cas
  • cas 并发,java多线程cas,java并发编程之cas详解
  • android中实现多线程操作的几种方式是什么,android 的多线程 实现方法
  • 留言与评论(共有 条评论)
       
    验证码: