multiprocessing.pool.ApplyResult 的文档在哪里?
Where is documentation for multiprocessing.pool.ApplyResult?
multiprocessing.pool.ApplyResult
的 API 文档(阅读:ZERO)少得吓人。多处理解释文档谈论 关于 ApplyResult
s,但没有定义它们。
这似乎也适用于 multiprocessing.pool.Pool
,尽管 Python 多处理指南似乎更好地涵盖了它。
即使 ApplyResult
help()
结果也微不足道:
| get(self, timeout=None)
|
| ready(self)
|
| successful(self)
|
| wait(self, timeout=None)
Get()
和 Ready()
我明白了。那些都很好。
我完全不知道 wait()
是干什么的,因为你是
处理一个 "pool",人们会认为它会在里面等你
get()
电话。这是 "wait for the result, but don't get it now" 还是 OS 式的等待?如果是这样,那么 意味着什么 ?
我同样不确定 successful()
是什么。
你是对的,文档中有一个小故障:class 实际上被记录为 AsyncResult,而不是 ApplyResult。两者是同一个 class:
的不同名称
>>> multiprocessing.pool.ApplyResult is multiprocessing.pool.AsyncResult
True
名称可能在某些时候已更改,并且文档未持续更新,但所有内容均已记录,只是记录在错误的名称下。 (a closed bug 其中有人指出文档提到了 AsyncResult 但 class 实际上称为 ApplyResult,因此他们添加了 AsyncResult 作为别名。)
这是我从代码中看到的:
ready()
:如果 "thread" 的任务 运行 已准备好 return 结果 ,则 return 为真
get(timeout=None)
:等待超时单位(在 floating-point 秒内)的结果,并在成功完成后 returns 返回结果。在超时时引发 TimeoutError
,在 non-successful 完成时引发相关异常。
wait(timeout=None)
:根据 threading.Condition.wait([timeout])
等待工人设置的条件变量 "thread" 并不暗示 收获 child "thread".
successful()
:如果ready
,returns True
如果get()
的结果是一个值。否则,returns False
(即结果将是异常)。如果启用断言,则在结果未准备好时将引发 ValueError。
multiprocessing.pool.ApplyResult
的 API 文档(阅读:ZERO)少得吓人。多处理解释文档谈论 关于 ApplyResult
s,但没有定义它们。
这似乎也适用于 multiprocessing.pool.Pool
,尽管 Python 多处理指南似乎更好地涵盖了它。
即使 ApplyResult
help()
结果也微不足道:
| get(self, timeout=None)
|
| ready(self)
|
| successful(self)
|
| wait(self, timeout=None)
Get()
和Ready()
我明白了。那些都很好。我完全不知道
wait()
是干什么的,因为你是 处理一个 "pool",人们会认为它会在里面等你get()
电话。这是 "wait for the result, but don't get it now" 还是 OS 式的等待?如果是这样,那么 意味着什么 ?我同样不确定
successful()
是什么。
你是对的,文档中有一个小故障:class 实际上被记录为 AsyncResult,而不是 ApplyResult。两者是同一个 class:
的不同名称>>> multiprocessing.pool.ApplyResult is multiprocessing.pool.AsyncResult
True
名称可能在某些时候已更改,并且文档未持续更新,但所有内容均已记录,只是记录在错误的名称下。 (a closed bug 其中有人指出文档提到了 AsyncResult 但 class 实际上称为 ApplyResult,因此他们添加了 AsyncResult 作为别名。)
这是我从代码中看到的:
ready()
:如果 "thread" 的任务 运行 已准备好 return 结果 ,则 return 为真
get(timeout=None)
:等待超时单位(在 floating-point 秒内)的结果,并在成功完成后 returns 返回结果。在超时时引发TimeoutError
,在 non-successful 完成时引发相关异常。wait(timeout=None)
:根据threading.Condition.wait([timeout])
等待工人设置的条件变量 "thread" 并不暗示 收获 child "thread".successful()
:如果ready
,returnsTrue
如果get()
的结果是一个值。否则,returnsFalse
(即结果将是异常)。如果启用断言,则在结果未准备好时将引发 ValueError。