- 先写一个多线程的程序
import threading
import time
def thread1_job():
print('T1 start\n')
for i in range (10):
time.sleep(1)
print('T1 finish\n')
def main():
added_threading1 = threading.Thread(target=thread1_job,name='T1')#创建了一个线程,命名为T1
added_threading1.start() #创建完之后需要start,执行这个线程
print('all done')
if __name__ == '__main__':
main()
运行结果:
T1 start
all done
T1 finish
可以发现是先输出all done,再输出T1 finish,如果想要等待T1线程执行完了,再执行接下来的程序怎么办呢?
- join使用
import threading
import time
def thread1_job():
print('T1 start\n')
for i in range (10):
time.sleep(1)
print('T1 finish\n')
def main():
added_threading1 = threading.Thread(target=thread1_job,name='T1')#创建了
added_threading1.start() #创建完之后需要start,执行这个线程
added_threading1.join() #等待T1这个线程运行完之后,再执行接下来的程序
print('all done')
if __name__ == '__main__':
main()
运行结果:
T1 start
T1 finish
all done