Python的Threading模块的Thread对象的join方法

时间:2021-07-21 20:40:13
__author__ = 'LL_YING'
'''
Thread对象的join方法:如果线程或者函数在执行过程中调用另一个线程,并且需要等待调用的线程完成后
在继续当前线程或者函数的执行,那么可以在调用线程中使用被调用线程的join方法。
'''
import threading
import time
class MyThread(threading.Thread):
def __init__(self, id):
threading.Thread.__init__(self)
self.id = id
def run(self):
# x = 0
time.sleep(2)
print(self.id)
# def func():
# t = MyThread(2)
# t.start()
# for i in range(5):
# print(i)
# func()
# 输出为:(func()函数没有等待线程t完成输出)
# 0
# 1
# 2
# 3
# 4
def func_out():
t = MyThread(3)
t.start()
t.join() # join方法使得在线程结束之后在继续运行程序
for i in range(5):
print(i)
func_out()
# 输出为:
# 3
# 0
# 1
# 2
# 3
# 4