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')