python - 将多处理池(生产者)与进程(消费者)混合
问题描述
我正在分块处理一个大型 csv 文件,并将输出写入另一个文件。对于处理位,我有以下代码:
def process_data(self):
pool = multiprocessing.Pool(multiprocessing.cpu_count())
for result in pool.imap(self.process_data_chunk, self.data_chunks):
pass
目前,process_data_chunk 还写入需要锁定的输出文件。我想做的是process_data_chunk
将块放入 a 中multiprocessing.Queue
,并且我希望有一个单独的进程从这个队列中消费。我不确定我是否可以做到这一点?我可以与生产者和消费者的Pool
单一组合吗?Process
Pool
Process
解决方案
推荐阅读
- python - Python - Pandas & SQLAlchemy - 日期时间到日期
- reverse-proxy - Quarkus 应用反向代理另一个旧的 CGI Web 应用
- python - 如何在pymc3中从正常先验模拟正常贝叶斯后验?
- sql - 我需要一个查询来从 teradata 中的评论字符串中获取日期,无论其位置如何
- modelica - Modelica“流体”库可以处理阻塞流吗?
- javascript - 在网站上单击后退/前进后,AJAX 调用不更新部分页面内容
- python - 写入 csv 文件时循环字符串变量的每个字符。如何避免这种情况?
- flutter - 带有更改通知器的抽象类
- angular - Angular 在路由时删除 url 中的目录
- python - 字符串系列上的最大 agg