1. 程式人生 > >python 執行緒中 join 方法的作用

python 執行緒中 join 方法的作用

join 方法:阻塞執行緒 , 直到該執行緒執行完畢

因此  ,可以對join加一個超時操作 , join([timeout]),超過設定時間,就不再阻塞執行緒

jion加上還有一個後果就是, 子執行緒和主執行緒繫結在一起 , 直到子執行緒執行完畢,才開始執行子執行緒。

程式碼 有join:

#-*- coding: UTF-8 -*- 


import threading
from time import sleep

def fun():
<span style="white-space:pre">	</span>i= 5
	while i > 0:
		print(111111)
		sleep(10)
<span style="white-space:pre">		</span>i--

if __name__ == '__main__':


	a = threading.Thread(target = fun)
	a.start()
	a.join()
	while True:
		print('aaaaaaa')
		sleep(1)
輸出:<pre name="code" class="python">111111 輸完之後, 才輸出 <span style="font-family: Arial, Helvetica, sans-serif;">aaaaaaa </span>
程式碼: 無join
#-*- coding: UTF-8 -*- 


import threading
from time import sleep

def fun():
	while True:
		print(111111)
		sleep(10)

if __name__ == '__main__':


	a = threading.Thread(target = fun)
	a.start()
	while True:
		print('aaaaaaa')
		sleep(1)
<pre name="code" class="python" style="font-size:18px;">111111 和 <span style="font-family: Arial, Helvetica, sans-serif;">aaaaaaa  間隔輸出</span>