• 预备
  • 基础语法
  • 容器类型
  • 函数
  • 面向对象
  • 输入输出
  • 进程控制
  • 线程控制
  • 正则表达式
  • 网络编程
  • 图形界面
  • 常见问题
  • API 帮助手册

  • 设置

689

3 分钟

#线程池

线程的创建与退出都会带来额外的开销,如果反复创建与销毁线程,程序的性能将会受到影响。

此类场景下通常采取线程复用的方案,即线程退出时并不销毁而是暂停,下次需要创建线程时启动之前暂停的线程运行新的代码。

管理这些线程的对象称作 线程池,在 Python 中使用 concurrent.futures 模块的 ThreadPoolExecutor 类来创建线程池,它的构造参数是线程的数量。

from concurrent.futures import ThreadPoolExecutor import time def task(name): print(f"任务 {name} 开始") time.sleep(2) return f"任务 {name} 完成" # 创建包含4个线程的线程池 with ThreadPoolExecutor(max_workers=4) as executor: # 给线程池分配任务 futures = [executor.submit(task, i) for i in range(10)] for future in futures: print(future.result()) # 按完成顺序获取结果

创建于 2025/5/13 15:56:35

更新于 2025/5/13 15:56:35