如何在python程序中间使用进程池
时间: 2024-05-08 13:17:47 浏览: 8
在Python中使用进程池可以使用multiprocessing模块。下面是一个简单的例子,演示如何在Python程序中使用进程池。
```python
import multiprocessing
def worker(num):
"""worker function"""
print('Worker:', num)
return
if __name__ == '__main__':
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
jobs.append(p)
p.start()
```
在这个例子中,我们定义了一个worker函数,它接受一个整数参数num,打印一个消息。
我们使用multiprocessing模块创建了一个进程池,然后循环创建5个进程,并将它们添加到进程池中。
最后,我们使用start方法开始每个进程的运行。
在实际应用中,我们通常会使用进程池来处理一组任务,而不是单个任务。下面是一个更完整的例子,演示如何使用进程池来并行处理多个任务:
```python
import multiprocessing
import time
def worker(num):
"""worker function"""
print('Worker:', num)
time.sleep(1)
return
if __name__ == '__main__':
# 创建进程池
pool = multiprocessing.Pool(processes=4)
# 添加任务
for i in range(10):
pool.apply_async(worker, args=(i,))
# 关闭进程池
pool.close()
# 等待所有任务完成
pool.join()
print("All tasks are done.")
```
在这个例子中,我们创建了一个拥有4个进程的进程池。然后,我们循环10次,每次向进程池添加一个任务。
最后,我们使用close方法关闭进程池,并使用join方法等待所有任务完成。在任务运行期间,我们可以看到进程池中的进程同时处理多个任务。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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)
![](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)