python 多线程join
时间: 2023-06-23 21:49:34 浏览: 249
在Python中,多线程的join方法用于等待所有线程完成执行,然后才能继续执行主线程。如果不使用join方法,主线程会在所有子线程还未完成执行的情况下结束,从而导致子线程被强制终止,可能会引发一些问题。
join方法的语法为:thread.join()
其中,thread是指要等待的线程对象。调用join方法会使主线程阻塞,直到指定线程执行完毕为止。
如果需要等待多个线程执行完毕,可以在每个线程对象上依次调用join方法,或者在一个列表中存储所有线程对象,然后调用列表的join方法。
示例代码:
```
import threading
def worker():
print('Worker thread started.')
# 模拟长时间任务
for i in range(5):
print('Working...')
print('Worker thread finished.')
threads = []
for i in range(3):
t = threading.Thread(target=worker)
threads.append(t)
t.start()
# 等待所有线程执行完毕
for t in threads:
t.join()
print('All threads finished.')
```
在上面的示例中,我们创建了3个线程,并依次启动它们。然后在主线程中使用for循环遍历线程列表,并依次调用每个线程的join方法,等待所有线程执行完毕。最后输出"All threads finished."。
阅读全文