利用multiprocessing在python中创建多进程
时间: 2023-07-06 17:25:53 浏览: 84
python 08、多任务编程多线程 2-1_liao_tian_室、multiprocessing进程.mp4
在 Python 中,可以使用 `multiprocessing` 模块来创建多进程。下面是一个简单的例子:
```python
import multiprocessing
def worker(num):
"""进程执行的函数"""
print(f'Worker {num} started')
return
if __name__ == '__main__':
# 创建进程池
pool = multiprocessing.Pool(processes=4)
# 启动进程
for i in range(4):
pool.apply_async(worker, args=(i,))
# 关闭进程池,等待进程结束
pool.close()
pool.join()
print('All workers finished.')
```
在这个例子中,我们首先定义了一个 `worker` 函数,该函数将在每个进程中执行。然后我们创建了一个进程池,使用 `Pool` 类指定进程池的进程数量为 4。接下来,我们使用 `apply_async` 方法向进程池提交进程,该方法会异步启动进程并返回一个结果对象。最后,我们关闭进程池并等待所有进程结束,然后打印一条结束消息。
需要注意的是,在 Windows 操作系统下,由于 `multiprocessing` 使用了 `fork()` 系统调用,该系统调用在 Windows 中并不可用,因此需要使用 `if __name__ == '__main__'` 条件判断来保证在 Windows 中也能正常执行。
阅读全文