“资源暂时不可用”后的Python多处理池恢复

前端之家收集整理的这篇文章主要介绍了“资源暂时不可用”后的Python多处理池恢复前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

如果我在Python解释器中创建一个具有令人无法接受的大量进程的池,它显然会出现错误,但是在执行此操作之前看起来似乎没有清除分叉进程,因此会使环境变脏,并且系统的其余部分无法分叉进程.

>>> from multiprocessing import Pool
>>> p = Pool(1000)
Traceback (most recent call last):
  File "

有没有办法避免/补救这个,还是被认为是一个错误

最佳答案

Is there some way to avoid/remedy this,

不要那样做.

or is it considered a bug?

是的,因为如果初始化程序失败,所有分配的资源都应该被解除分配.您应该检查您正在使用的2.7的特定版本,并查看在以后的版本中是否修复了任何多处理特定的库错误(2.7.6发行说明:http://hg.python.org/cpython/raw-file/99d03261c1ba/Misc/NEWS).

我假设您的平台是基于堆栈跟踪中的路径的OSX.这是一个关于errno 35的帖子(在OSX中似乎是EAGAIN),在分叉时 – I can’t run more than 100 processes

无论您想要完成什么,似乎您需要在应用程序级别上限制资源使用.这意味着您可能需要重新考虑您的解决方案.使用您当前的解决方案并修复错误,您仍然可能会在其他环境中看到系统范围内的资源限制.

原文链接:https://www.f2er.com/python/439663.html

猜你在找的Python相关文章