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>