东湖之滨 发表于 2025-3-14 00:40:28

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

Python multiprocessing 模块

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

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

2.1 multiprocessing.Process

import multiprocessing
import time

def worker(name):
    print(f"Process {name} is running")
    time.sleep(2)
    print(f"Process {name} is done")

if __name__ == "__main__":
    # 创建进程
    p1 = multiprocessing.Process(target=worker, args=("A",))
    p2 = multiprocessing.Process(target=worker, args=("B",))

    # 启动进程
    p1.start()
    p2.start()

    # 等待子进程完成
    p1.join()
    p2.join()

    print("All processes finished.")
页: [1]
查看完整版本: 【Python】multiprocessing 模块:多历程并行计算