Bootstrap

Python 线程池的使用

等待所有线程都执行完毕,获取结果

import concurrent.futures

def process_task(task):
    # 处理任务的函数
    # 这里可以是你具体的任务逻辑
    # 返回任务的结果

# 创建任务列表
tasks = [task1, task2, task3, ...]

# 创建一个线程池
with concurrent.futures.ThreadPoolExecutor() as executor:
    # 提交任务给线程池执行,并获得 Future 对象列表
    futures = [executor.submit(process_task, task) for task in tasks]

    # 等待所有任务完成
    done, _ = concurrent.futures.wait(futures)

    # 处理已完成任务的结果
    for future in done:
        try:
            result = future.result()
            # 处理任务的结果
        except Exception as e:
            # 处理任务的异常

及时处理结果


import concurrent.futures

def process_task(task):
    # 处理任务的函数
    # 这里可以是你具体的任务逻辑
    # 返回任务的结果

# 创建任务列表
tasks = [task1, task2, task3, ...]

# 创建一个线程池
with concurrent.futures.ThreadPoolExecutor() as executor:
    # 提交任务给线程池执行,并获得 Future 对象列表
    futures = [executor.submit(process_task, task) for task in tasks]

    # 处理已完成任务的结果
    for future in concurrent.futures.as_completed(futures):
        try:
            result = future.result()
            # 处理任务的结果
        except Exception as e:
            # 处理任务的异常

;