threading模块基本几点使用问题

第一点threading中使用多线程两种方法:

1.使用回调

2.重写run方法

关于守护进程setDaemon以及join方法问题

(1)Python中默认setDaemon(false)是设置用户线程为守护线程

效果:当用户任务执行完毕后,用户线程退出,其他子线程依旧会执行,直到退出。

(2)当设置子线程为守护进程,即setDaemon(true)

效果:当用户任务执行完毕后,用户线程退出,其他子线程也会中断退出。

(3)使用join()方法后

效果:为了完成线程同步,即当用户任务执行完成后,主线程阻塞等待,直到子线程任务都执行完成才会退出。

(4)当然join()里面有个timeout参数

如果设置了守护进程setDaemon(true)则给一个timeout每个子线程,若时间到了,直接杀死子线程。

如果没有设置守护进程setDaemon(false),则给一个timeout给用户线程,不管其执行是否完毕,都会被kill,其他子线程依旧继续执行。

如果创建多个线程,注意多个线程join()的顺序问题。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值