如何调整 Python 线程执行顺序?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1669个文字,预计阅读时间需要7分钟。
一、主线程会等待所有子线程结束后才结束。首先,我会查看最普遍的情况,然后分析主线程和子线程的状态。
import threadingfrom time import sleep, ctime
def sing(): for i in range(3): print(正在唱歌...%d % i) sleep(1)
一、主线程会等待所有的子线程结束后才结束
首先我看下最普通情况下,主线程和子线程的情况。
import threading from time import sleep, ctime def sing(): for i in range(3): print("正在唱歌...%d" % i) sleep(1) def dance(): for i in range(3): print("正在跳舞...%d" % i) sleep(1) if __name__ == '__main__': print('---开始---:%s' % ctime()) t1 = threading.Thread(target=sing) t2 = threading.Thread(target=dance) t1.start() t2.start() print('---结束---:%s' % ctime())
运行结果:
最后一行打印的代码就算在一开始运行了,程序也不会结束。
只有等待所有的子线程(sing 和 dance)都执行完毕,主线程才会结束,即程序结束。
本文共计1669个文字,预计阅读时间需要7分钟。
一、主线程会等待所有子线程结束后才结束。首先,我会查看最普遍的情况,然后分析主线程和子线程的状态。
import threadingfrom time import sleep, ctime
def sing(): for i in range(3): print(正在唱歌...%d % i) sleep(1)
一、主线程会等待所有的子线程结束后才结束
首先我看下最普通情况下,主线程和子线程的情况。
import threading from time import sleep, ctime def sing(): for i in range(3): print("正在唱歌...%d" % i) sleep(1) def dance(): for i in range(3): print("正在跳舞...%d" % i) sleep(1) if __name__ == '__main__': print('---开始---:%s' % ctime()) t1 = threading.Thread(target=sing) t2 = threading.Thread(target=dance) t1.start() t2.start() print('---结束---:%s' % ctime())
运行结果:
最后一行打印的代码就算在一开始运行了,程序也不会结束。
只有等待所有的子线程(sing 和 dance)都执行完毕,主线程才会结束,即程序结束。

