Python Ray -等待队列.get_async(block=True, timeout=None) 的解释

问题描述 投票:0回答:1

Ray.util.queue.Queue.get_async

block
参数。在我看来,为什么异步方法会阻塞,因为异步意味着返回而不阻塞。

在用户指南中寻找解释,但到目前为止没有找到线索。

python asynchronous ray
1个回答
0
投票

来自 https://docs.ray.io/en/latest/_modules/ray/util/queue.html#Queue.get_async的 AFAIU (另外,我更深入地研究了该代码库),我得出的结论是:

  1. 是的,异步意味着非阻塞,但是这个“阻塞”参数还有另一个目的;
  2. 如果您使用块并且队列为空,它将等待直到队列中出现某些内容或超出给定的超时时间
  3. 如果您不使用块,那么即使队列中没有任何内容,它也会立即返回(在这种情况下会引发异常)。

所以,基本上就是这样。

© www.soinside.com 2019 - 2024. All rights reserved.