python 執行緒中 join 方法的作用
阿新 • • 發佈:2019-01-28
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)
程式碼: 無join輸出:<pre name="code" class="python">111111 輸完之後, 才輸出 <span style="font-family: Arial, Helvetica, sans-serif;">aaaaaaa </span>
#-*- 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>