等待线程结束
等待线程结束: 一个线程(假设是主线程)需要等待另外一个线程(假设是t1子线程)执行结束才能继续执行。
实现: 通过调用join(timeout=None)方法
参数timeout用来设置超时时间,单位为秒。如果没有设置timeout,则可以一直等待,知道结束。
实例代码:
# coding=utf-8
import time
import threading
# 共享变量
value = [] # 多个线程都可以访问的变量
# 线程体函数
def thread_body():
# 当前线程对象
print('t1子线程开始...')
for n in range(2):
print('t1子线程执行...')
value.append(n)
# 线程休眠
time.sleep(2)
print('t1子线程结束。')
# 主线程
print('主线程开始执行...')
# 创建线程对象t1
t1 = threading.Thread(target=thread_body)
# 启动线程t1
t1.start()
# 主线程阻塞,等待t1线程结束
t1.join()
print('value = {0}'.format(value))
print('主线程继续执行...')