Python实现子线程代码“同时”执行完毕后,再执行后续函数模块

  • Post author:
  • Post category:python


在python中用多线程完成任务时,在后面添加了一个提醒函数,结果发现线程开启后提醒函数就触发了。

解决方法:将多线程join()起来,就会跑完所有多线程任务再执行后续的函数模块。

join()的使用方法:

import threading
import time

def run():

    time.sleep(2)
    print('当前线程的名字是: ', threading.current_thread().name)
    time.sleep(2)


if __name__ == '__main__':

    start_time = time.time()

    print('这是主线程:', threading.current_thread().name)
    thread_list = []
    for i in range(5):
        t = threading.Thread(target=run)
        thread_list.append(t)

    for t in thread_list:
        t.setDaemon(True)
        t.start()

    for t in thread_list:
        t.join()

    print('主线程结束了!' , threading.current_thread().name)
    print('一共用时:', time.time()-start_time)

上述代码引用自https://www.cnblogs.com/cnkai/p/7504980.html



版权声明:本文为badwomen__原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。