python 自带线程池模块

python 自带线程池

from concurrent.futures import ThreadPoolExecutor, as_completed
import time

brand_list = ['xiaomi', 'apple', 'vivo', 'oppo', 'meizu', 'sanxing', 'huawei', 'zte', 'yijia']
res = []

def demo_task(index, brand, arg1):
    print('===', index, brand, arg1)
    return index, brand, arg1

start_time = time.time()
with ThreadPoolExecutor(max_workers=50) as pool:
    task_list = []
    # 创建任务,并执行
    for index, brand in enumerate(brand_list):
        task = pool.submit(demo_task, index, brand, 'arg1')
        task_list.append(task)
        # print(task.result())   # 千万不要在这里接收结果,会影响效率

    # 接收任务结果
    for future in as_completed(task_list):
        data = future.result()
        res.append(data)
    print(f'{res}')

# 会在这里阻塞,主线程等待任务全部结果才继续走下去
print(time.time() - start_time)

posted @   疯狂列表推导式  阅读(53)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2019-12-16 rabbitmq
点击右上角即可分享
微信分享提示