python 多进程
时间: 2023-06-28 21:05:37 浏览: 46
Python 多进程可以通过 `multiprocessing` 模块来实现。该模块提供了 `Process` 类,可以用来创建新的进程。以下是一个简单的例子:
```python
import multiprocessing
def worker():
"""子进程执行的任务"""
print('Worker')
if __name__ == '__main__':
# 创建子进程
p = multiprocessing.Process(target=worker)
# 启动进程
p.start()
# 等待进程结束
p.join()
```
上述代码中,首先定义了一个 `worker()` 函数作为子进程要执行的任务,然后通过 `multiprocessing.Process()` 创建子进程,并指定要执行的任务。最后,通过 `start()` 方法启动进程,然后通过 `join()` 方法等待进程结束。
另外,还可以使用 `Pool` 类来创建进程池。例如,如果要创建 4 个子进程,可以这样写:
```python
import multiprocessing
def worker(num):
"""子进程执行的任务"""
print(f'Worker {num}')
if __name__ == '__main__':
# 创建进程池
pool = multiprocessing.Pool(4)
# 启动子进程
for i in range(4):
pool.apply_async(worker, args=(i,))
# 关闭进程池
pool.close()
# 等待所有子进程结束
pool.join()
```
上述代码中,首先创建了一个进程池,指定最大进程数为 4。然后通过 `apply_async()` 方法启动 4 个子进程,并指定要执行的任务和参数。最后,通过 `close()` 方法关闭进程池,然后通过 `join()` 方法等待所有子进程结束。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)