【Python】multiprocessing 模块:多历程并行计算

打印 上一主题 下一主题

主题 1024|帖子 1024|积分 3076

Python multiprocessing 模块

Python 的 multiprocessing 模块用于 多历程并行计算,可以充实利用 多核 CPU 进行任务加速,突破 Python GIL(全局表明器锁) 的限定,提高程序执行服从。

1. 为什么利用 multiprocessing?

Python 默认的 threading 模块利用 线程 进行并发,但由于 GIL(全局表明器锁)的存在,多线程无法真正实现 CPU 级别的并行计算,实用于 I/O 麋集型任务(如文件读写、网络请求)。
✅ multiprocessing 创建多个历程,每个历程有独立的 Python 表明器,可以或许真正实现并行计算,实用于 CPU 麋集型任务(如数学计算、数据处置惩罚、图像渲染)。

2. 根本用法:创建历程

2.1 multiprocessing.Process

  1. import multiprocessing
  2. import time
  3. def worker(name):
  4.     print(f"Process {name} is running")
  5.     time.sleep(2)
  6.     print(f"Process {name} is done")
  7. if __name__ == "__main__":
  8.     # 创建进程
  9.     p1 = multiprocessing.Process(target=worker, args=("A",))
  10.     p2 = multiprocessing.Process(target=worker, args=("B",))
  11.     # 启动进程
  12.     p1.start()
  13.     p2.start()
  14.     # 等待子进程完成
  15.     p1.join()
  16.     p2.join()
  17.     print("All processes finished.")
复制代码
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

东湖之滨

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表