【发布时间】:2022-06-15 22:53:44
【问题描述】:
我遇到了multiprocessing.Pool 函数的问题。环顾四周,我发现还有另一个名为 multiprocess.Pool 的“版本”,最终使用这个库代码可以正常工作。
我之前的代码(任务一直在运行):
with multiprocessing.Pool(processes=10, maxtasksperchild=5000) as pool:
job_iter = pool.imap_unordered(
call_runner,
[(row, i, date_total) for i, row in df.iterrows()],
chunksize=100,
)
(工作后)我的代码:
with multiprocess.Pool(processes=10, maxtasksperchild=5000) as pool:
job_iter = pool.imap_unordered(
call_runner,
[(row, i, date_total) for i, row in df.iterrows()],
chunksize=100,
)
你知道这两个库有哪些不同吗?谢谢!!
【问题讨论】:
-
“有什么区别?”一般而言,过于宽泛,无法成为主题。 “是什么具体差异导致一个工作而另一个没有工作?”,OTOH,可能在我们的范围内。
-
multiprocess 是内置多处理库的扩展:pypi.org/project/multiprocess
-
...提供minimal reproducible example 将非常有帮助——将您的问题扩展到最短的代码,让其他人在他们自己的系统上产生挂起。
-
(顺便说一句——在 Stack Overflow 历史的早期,我们遇到过很多人通过提出问题来宣传他们的项目/图书馆,而他们的——通常是商业的/昂贵的——工具就是答案,直到我们更改了规则,彻底禁止这种做法;所以这个问题对于已经存在那么久的人来说有点可疑)。
标签: python multiprocessing python-multiprocessing