python线程监控_Python中多线程总结

本文详细介绍了Python中的多线程,包括线程安全、daemon属性、join()方法、threading.local、定时器Timer、Event、Lock、Rlock、Condition、Barrier以及Semaphore等,并探讨了它们在实际应用中的场景和注意事项。
摘要由CSDN通过智能技术生成

Python中的多线程

多线程

一个进程中有多个线程就是多线程。

一个进程中至少有一个线程,并作为程序的入口,这个就是主线程。一个进程至少有一个主进程,其他线程称为工作线程。

线程安全:线程执行一段代码,不会产生不确定的结果,那这段代码就是线程安全。(例如print()线程不安全)

线程的daemon属性

daemon属性:表示线程是否是daemon线程,这个值必须在start()之前设置,否则引发RuntimeError异常

isDaemon():是否是daemon线程

setDaemon():设置为daemon线程,必须在start方法之前设置

线程具有一个daemon属性,可以设置为Ture或False,也可以不设置,默认值为None.如果不设置daemon就取当前的daemon来设置它,主线程是Non-daemon。工作线程不设置daemon属性,则默认是daemon = False .python程序在没有活着的non-daemon线程运行时退出。

join()方法

join(timeout)是线程的标准方法之一。

一个线程中调用里那个一个线程的join方法,调用者将被阻塞,知道盗用线程终止。一个线程可以被join多次。

daemon线程的应用场景

1:后台任务,如发送心跳包、监控,这种场景最多

2:主线程工作才有用的线程,如主线程中维护的公共资源,主线程已经清理了,准备退出,而工作线程使用这些资源工作也没有意义了,一起退出最合适。

3:随时可以被终止

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值