import time from concurrent.futures import ThreadPoolExecutor executor = ThreadPoolExecutor(max_workers=20) list = [] # 子线程要执行的函数,通常这里的函数比较耗时,因此要用异步。列表要把线程完成的标志加入到全局列表中。 def a(c): time.sleep(c) print('我是一个线程') list.append('1') # 启动20个线程,注意这里,实现了异步,启动线程后,主线程继续往下运行 for x in range(20): # 这里,a()的参数传递方式以下 executor.submit(a,(5)) print('我是主线程') # 经过查看列表中元素个数来断定线程完成状况 while True: if len(list)== 20: break print('ok')