import threading
import time
#用类的方法实现多线程
class MyThread(threading.Thread):
def __init__(self,n,sleep_time):
super(MyThread,self).__init__()
self.n = n
self.sleep_time = sleep_time
# 这里必须叫run
def run(self):
print('run task',self.n)
time.sleep(self.sleep_time)
print('task done',self.n)
t1 = MyThread('t1',2)
t2 = MyThread('t2',4)
t1.start()
t2.start() #这样就是并行的,但还是等待第一执行的结果
t1.join() # = wait() 等待第一个线程的执行结果 这个时候就变成串行的了
t2.join() #继续等t2执行完毕后在执行主线程
print('main thread ...')
'''
解释:这里print('main thread ...')是主线程的执行
然后我t1线程是执行两秒,t2执行四秒,t1 t2是并行的执行,但是我的主程序
或者说主线程是等待t1执行完毕后才往下走或继续执行,
最后才是t2执行完毕,因为它花的时间比主线程和t1长
'''
Python多线程003之详解 join
最新推荐文章于 2022-11-17 15:37:51 发布