参考:
https://blog.csdn.net/shinuone/article/details/132047079
https://www.python100.com/html/AN8P36F24K1W.html
import concurrent.futures# 定义任务1
def task1():for i in range(5):print("Task 1 - Step", i + 1)# 定义任务2
def task2():for i in range(3):print("Task 2 - Step", i + 1)if __name__ == "__main__":# 使用 ThreadPoolExecutor 创建线程池with concurrent.futures.ThreadPoolExecutor() as executor:# 提交任务1和任务2给线程池future1 = executor.submit(task1)future2 = executor.submit(task2)# 获取任务1和任务2的结果result1 = future1.result()result2 = future2.result()# 在这里执行任何需要等待线程池完成的后续操作"""
Task 1 - Step 1
Task 1 - Step 2
Task 1 - Step 3
Task 1 - Step 4
Task 1 - Step 5
Task 2 - Step 1
Task 2 - Step 2
Task 2 - Step 3
"""
from concurrent.futures import ThreadPoolExecutordef test(name):print(f"Hello {name}")return Truenames = ["Tom", "Jerry", "Mickey", "Donald"]
executor = ThreadPoolExecutor(max_workers=4)
futures = [executor.submit(test, name) for name in names]for future in futures:result = future.result()print(result)
报错处理:<bound method Future.result of <Future at 0x7f227e330590 state=finished raised TypeError>>]
参考:
https://www.5axxw.com/questions/content/0czrg5