multiprocessing.pool.ApplyResult的文档在哪里?

Mar*_*tos 13 python python-2.x python-2.6 python-multiprocessing

有一些令人恐惧的严格的API文档(读:ZERO)multiprocessing.pool.ApplyResult.该多解释DOC会谈 ApplyResult S,但没有具体定义.

multiprocessing.pool.Pool虽然Python多处理指南似乎更好地涵盖了它,但这似乎也适用.

即使ApplyResult help()结果也很微不足道:

 |  get(self, timeout=None)
 |  
 |  ready(self)
 |  
 |  successful(self)
 |  
 |  wait(self, timeout=None)
Run Code Online (Sandbox Code Playgroud)
  • Get()Ready()我得到的.那很好.

  • 我完全不知道是什么wait(),因为你正在处理一个"池",人们会认为它会在get()通话中等待你.这是"等待结果,但现在不能得到它"或者它是OS风格的等待?如果是这样,那甚至意味着什么?

  • 我同样不确定是什么successful().

Bre*_*arn 11

您在文档中出现故障的权利:该类实际上记录为AsyncResult,而不是ApplyResult.这两个是同一个类的不同名称:

>>> multiprocessing.pool.ApplyResult is multiprocessing.pool.AsyncResult
True
Run Code Online (Sandbox Code Playgroud)

该名称可能在某些时候已被更改,并且文档未经过一致更新,但所有内容都已记录在案,它只是以错误的名称记录.(有一个封闭的错误,有人指出文档提到AsyncResult但该类实际上称为ApplyResult,因此他们将AsyncResult添加为别名.)

  • 可在以下位置找到该文档:https://docs.python.org/2/library/multiprocessing.html#multiprocessing.pool.AsyncResult (2认同)