加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 21:48:18 所属栏目:Python 来源:网络整理
导读:如果我在Python解释器中创建一个具有令人无法接受的大量进程的池,它显然会出现错误,但是在执行此操作之前看起来似乎没有清除分叉进程,因此会使环境变脏,并且系统的其余部分无法分叉进程. from multiprocessing import Pool p = Pool(1000)Traceback (most re

如果我在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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读