python怎么实现多进程
时间: 2024-01-30 11:04:00 浏览: 131
在 Python 中,实现多进程主要有两种方式:
1. 使用 `multiprocessing` 模块:`multiprocessing` 模块可以以类似于线程的方式创建多个进程,每个进程都有自己独立的内存空间和系统资源。使用 `multiprocessing` 模块需要注意进程之间的通信和同步,可以使用 `Queue`、`Pipe` 等方式进行进程间通信,使用 `Lock`、`Semaphore` 等方式进行进程间同步。
2. 使用 `subprocess` 模块:`subprocess` 模块可以在 Python 程序中启动一个外部进程,与该进程进行交互。使用 `subprocess` 模块可以方便地启动、控制和监控外部进程,但是不能像 `multiprocessing` 模块一样方便地实现多个进程之间的通信和同步。
下面是一个使用 `multiprocessing` 模块创建多个进程的示例代码:
```python
import multiprocessing
def worker(num):
"""子进程要执行的代码"""
print(f"Worker {num} starting...")
# 这里可以添加一些耗时的操作,模拟子进程的工作
print(f"Worker {num} exiting...")
if __name__ == '__main__':
# 在主进程中创建 4 个子进程
for i in range(4):
p = multiprocessing.Process(target=worker, args=(i,))
p.start()
```
上面的代码中,我们先定义了一个 `worker` 函数,该函数将作为子进程要执行的代码。在主进程中,我们使用 `multiprocessing.Process` 类创建了 4 个子进程,每个子进程将执行 `worker` 函数,并传入不同的参数。最后,我们调用 `start` 方法启动子进程。运行上面的代码,可以看到 4 个子进程依次启动、执行、退出的过程。
阅读全文