【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]