Python 中使用多进程主要通过 multiprocessing 模块实现。常用的多进程代码模式如下:
- 导入 multiprocessing 模块。
## python www.itzhimei.com 代码
import multiprocessing
- 定义目标函数,作为进程执行的内容。
## python www.itzhimei.com 代码
def func(arg):
pass
- 使用 Process 类创建进程对象,传入目标函数和参数。
## python www.itzhimei.com 代码
p = multiprocessing.Process(target=func, args=(arg,))
- 调用 start() 方法启动进程。
## python www.itzhimei.com 代码
p.start()
- 使用 join() 方法等待进程结束。
## python www.itzhimei.com 代码
p.join()
- 使用 Pool 类实现进程池,控制进程数量。
## python www.itzhimei.com 代码
pool = multiprocessing.Pool(processes=4)
pool.apply_async(func, args=(arg,))
进程间通信:
- Queue、Pipe 用于不同进程间的数据传输。
- Lock/Semaphore 用于进程间的同步。
- Manager() 和 Namespace 提供共享内存。
multiprocessing 模块实现 Python 的多进程编程。