python同一个py文件中使用ProcessPoolExecutor 创建一个5任务进程池,然后在其他函数中往进程池中添加任务函数
时间: 2024-02-21 16:01:02 浏览: 152
可以使用 `concurrent.futures.ProcessPoolExecutor` 模块来创建进程池。下面是一个简单的例子,展示如何在一个 Python 文件中创建进程池,并在其他函数中往进程池中添加任务函数:
```python
import concurrent.futures
def task(num):
"""进程池中的任务函数"""
print(f"Task {num} is running")
def main():
# 创建进程池,最多同时运行 5 个进程
with concurrent.futures.ProcessPoolExecutor(max_workers=5) as executor:
# 向进程池中添加任务
for i in range(10):
executor.submit(task, i)
if __name__ == '__main__':
main()
```
在这个例子中,我们定义了一个 `task` 函数作为进程池中的任务函数。在 `main` 函数中,我们使用 `concurrent.futures.ProcessPoolExecutor` 创建了一个最多同时运行 5 个进程的进程池。然后使用 `executor.submit` 方法向进程池中添加了 10 个任务。最后,在 `if __name__ == '__main__':` 中调用 `main()` 函数执行任务。
你可以在其他函数中调用 `main()` 函数来往进程池中添加任务。
阅读全文