用 multiprocessing 写一个多进程处理一个任务
时间: 2024-03-21 10:44:30 浏览: 78
可以使用multiprocessing库来实现多进程任务处理。以下是一个示例代码:
```python
import multiprocessing
def process_task(task):
# 处理任务的函数
result = do_something_with_task(task)
return result
if __name__ == '__main__':
# 创建进程池,指定进程数
num_workers = multiprocessing.cpu_count() # 获取CPU核心数
pool = multiprocessing.Pool(num_workers)
# 定义任务列表
task_list = [task1, task2, task3, ...]
# 使用进程池处理任务列表
results = pool.map(process_task, task_list)
# 关闭进程池
pool.close()
pool.join()
# 输出处理结果
print(results)
```
在这个示例代码中,我们首先定义了一个 `process_task()` 函数,用于处理单个任务。我们通过使用 `multiprocessing.Pool()` 函数创建一个进程池,然后使用 `pool.map()` 函数将任务列表中的每个任务都映射到处理函数中进行处理。最终,我们使用 `pool.close()` 和 `pool.join()` 函数关闭进程池。
当然,在实际的应用中,你需要根据具体的需求来编写任务处理函数和任务列表,并且需要注意在进程间共享数据的问题。
阅读全文