join 方法:阻塞線程 , 直到該線程執行完畢python
所以 ,能夠對join加一個超時操做 , join([timeout]),超過設置時間,就再也不阻塞線程ide
jion加上還有一個後果就是, 子線程和主線程綁定在一塊兒 , 直到子線程運行完畢,纔開始執行子線程。spa
代碼 有join:線程
在CODE上查看代碼片派生到個人代碼片code
?1234567 #-*- coding: UTF-8 -*- import threading from time import sleep def fun(): get
在CODE上查看代碼片派生到個人代碼片it
?1234 <span style="white-space:pre"> </span>i= 5 while i > 0: print(111111) sleep(10) io
在CODE上查看代碼片派生到個人代碼片class
CODEGO.NET代碼:thread
<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)
在CODE上查看代碼片派生到個人代碼片
輸出:<pre name="code" class="python">111111 輸完以後, 才輸出 <span style="font-family: Arial, Helvetica, sans-serif;">aaaaaaa </span>
在CODEGO.NET上查看代碼片派生到個人代碼片
代碼: 無join
在CODE上查看代碼片派生到個人代碼片
?12345678910111213141516171819 #-*- 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)
在CODE上查看代碼片派生到個人代碼片
<pre name="code" class="python" style="font-size:18px;">111111 和 <span style="font-family: Arial, Helvetica, sans-serif;">aaaaaaa 間隔輸出</span>