python如何在此处创建一个进程池 在其他地方使用进程池 同一个py文件
时间: 2024-02-21 11:01:00 浏览: 141
你可以在一个 Python 文件中创建进程池,并在另一个 Python 文件中使用它。下面是一个简单的例子:
在 `pool_creator.py` 文件中创建进程池:
```python
import multiprocessing
def worker(num):
"""进程池中的工作进程"""
print("Worker %d is running" % num)
def create_pool():
# 创建进程池,最多同时运行 3 个进程
pool = multiprocessing.Pool(processes=3)
return pool
```
在 `pool_user.py` 文件中使用进程池:
```python
from pool_creator import create_pool, worker
if __name__ == '__main__':
# 创建进程池
pool = create_pool()
# 向进程池中添加任务
for i in range(5):
pool.apply_async(worker, args=(i,))
# 关闭进程池
pool.close()
# 等待进程池中的任务执行完毕
pool.join()
```
在这个例子中,我们在 `pool_creator.py` 文件中定义了一个 `create_pool` 函数,用于创建一个最多同时运行 3 个进程的进程池。在 `pool_user.py` 文件中,我们使用 `from pool_creator import create_pool, worker` 引入了 `create_pool` 函数和 `worker` 函数。然后,我们在 `pool_user.py` 文件中使用 `create_pool` 函数创建了进程池,并向进程池中添加了 5 个任务。最后,我们调用 `pool.close()` 关闭进程池,然后调用 `pool.join()` 等待所有任务执行完毕。
阅读全文