Python自学笔记多线程同步dae

前言

在脚本运行过程中有一个主线程,如果主线程又创建一个子线程,则当主线程退出时,会检验子线程是否完成。如果子线程未完成,则主线程会等待子线程完成后再退出。如果想要主线程退出时,不管子线程是否完成都随主线程退出,则可以通过设置Thread对象的daemon属性为True来达到这种效果。

验证思路

我们创建两个线程,一个线程定时结束,定义为t1;一个线程一直运行,手动停止,定义为t2。运行脚本,观察两个线程运行情况。将t2的daemon属性设置为True,再次观察程序运行结果。

脚本源码

程序运行结果

从程序运行结果来分析,线程t1结束后,线程t2继续运行,两个线程互不干扰。

修改t2daemon属性

修改后程序运行结果

从运行结果来看,当第一个线程结束时,线程t2还没有来得及打印第5个就强制被线程t1终止,然后一起结束了程序。

程序应用

程序验证结果是符合我们预期的,这种效果主要是用来区分主次进程的,当我们终止主进程时,其他进程必须无条件结束,这时就可以使用Daemon属性了,所有设置Daemon属性为True的进程都被定义为副进程,这在我们做界面开发,数据采集与处理上是非常有用的。

后记

多次尝试百家号上粘贴程序源码效果是非常不好的,如果有需要文章源码的朋友,可以私信我索要。

如果感觉本文有趣或者对你有帮助,可以收藏或转发哦。




转载请注明:http://www.aierlanlan.com/tzrz/1861.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了