python 中thread 中join 理解

1. 阻塞主进程,专注于执行多线程中的程序。

2. 多线程多join的情况下,依次执行各线程的join方法,前头一个结束了才能执行后面一个。

3. 无参数,则等待到该线程结束,才开始执行下一个线程的join。

4. 参数timeout为线程的阻塞时间,如 timeout=2 就是罩着这个线程2s 以后,就不管他了,继续执行下面的代码。


import threading, time
def doWaiting():
    print('start waiting1: ' + time.strftime('%H:%M:%S') + "\n")
    time.sleep(3)
    print( 'stop waiting1: ' + time.strftime('%H:%M:%S') + "\n" )
def doWaiting1():
    print('start waiting2: ' + time.strftime('%H:%M:%S') + "\n"   )
    time.sleep(8)
    print ('stop waiting2: ', time.strftime('%H:%M:%S') + "\n"  )
tsk = []
thread1 = threading.Thread(target = doWaiting)
thread1.start()
tsk.append(thread1)
thread2 = threading.Thread(target = doWaiting1)
thread2.start()
tsk.append(thread2)

print('start join: ' + time.strftime('%H:%M:%S') + "\n" )

for tt in tsk:
    tt.join(2)
##参数为timeout = 时间,相当于给这这两个线程进行阻塞,流出一定的时间来只运行这段线程,当时间一过则就可以运行下面的代码了 

print('end join: ' + time.strftime('%H:%M:%S') + "\n")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值