python多线程中daemon的属性方法
来源:互联网 发布:淘宝卖小黄书的网店 编辑:程序博客网 时间:2024/09/21 09:24
我们看官方介绍是这样的:
意思就是说:这个属性为一个布尔值,表示是否为一个守护进程,且这个属性设置必须在线程的start方法开始之前调用。它的值继承自主线程,主线程的daemon为False且所有从主线程创建的线程都是daemon = False 。
下面一句说明了,python主程序只有在没有非守护线程的时候才会退出。
我在用多线程的时候和看这些介绍的时候2个疑惑:
1.有的多线程主线程结束,其他的线程就结束了(thread方式)。 而有的主线程则阻塞等待其他线程执行完毕才继续执行(threading方法)
2.主线程中创建的线程都是非守护线程吗?我们都知道创建线程有最常用的2个方法,分别利用thread和threading模块,那么我们用代码看看实际的执行情况是怎样的。
从上图中我们可以看到,创建的线程输出的daemon是True。 可见问题2是说的不对的。 也就是说在主线程中用start_new_thread创建的线程其实是daemon=True的。这样就可以解释我们的主程序不会等待daemon程序执行完毕这个情况了。通过取消注释sleep语句,我们可以看到主程序执行完毕后其他线程也被销毁了。
那么我们接下来看看利用threading模块创建的程序执行情况如何?
从上面的类方式创建的多线程我们可以清晰的看到,此种方式创建的为线程daemon=False。 且会阻塞住主线程的执行; 解释就到这里了,不知道对有同样疑惑的你是否有所帮助。
如何区分是否为守护进程(个人理解)?如果说不是守护进程的话,则在主进程结束以后子进程并不会结束。守护进程反之。
0 0
- python多线程中daemon的属性方法
- Python多线程编程中daemon属性的作用
- Python线程的daemon属性
- python线程对象的daemon属性
- python中方法也是属性
- Linux后台Daemon中打印debug message的方法
- python写的daemon进程
- Python中多线程thread与threading的实现方法
- Python中字段(属性)、方法、特性的区别
- Python -- Numpy中ndarray的属性和方法
- Python中类的方法属性与方法属性的动态绑定
- python中的daemon守护进程实现方法
- python 对象,属性的方法
- python的属性和方法
- 【Python】Python的类、对象、属性、方法
- python中类的学习:类属性,实例属性 __new__方法:单例模式
- python中魔法属性和魔法方法
- Python中多线程的探究
- 在Mac电脑上用VMware Fusion在移动硬盘上安装Windows7虚拟机
- Spring Boot之执行器端点(Actuator Endpoint)实现剖析
- Java 注解
- 游戏服务器:到底使用UDP还是TCP
- 对于枚举 '[ldpi, mdpi, tvdpi, hdpi, xhdpi, 400dpi, xxhdpi, 560dpi, xxxhdpi]', 值 '280dpi' 不具有面有效性。它必须是来自枚
- python多线程中daemon的属性方法
- 多线程_实现Runnable接口的方式卖电影票案例
- hduoj 2014青年歌手
- 网络游戏的对时以及同步问题
- python初学者学习笔记(三)读取excel表格数据
- 深入理解HTTP Session
- 汇编语言中寄存器的英文全程
- Java中String,StringBuffer,StringBuilder常用方法及使用实例
- Ruby_散列