ray.util.queue.Queue#
- class ray.util.queue.Queue(maxsize: int = 0, actor_options: Dict | None = None)[源代码]#
基类:
object
Ray 上的先进先出队列实现。
其行为和使用场景与 asyncio.Queue 类相似。
功能包括同步和异步的 put 和 get 方法。提供选项在调用 put 时阻塞直到队列有空间可用,或在调用 get 时阻塞直到队列中有项目可用。
可选支持批量放置和获取操作,以最小化序列化开销。
- 参数:
maxsize (optional, int) – 队列的最大大小。如果为零,则大小不受限制。
actor_options (optional, Dict) – 在创建 QueueActor 时传递的选项字典。这些选项直接传递给 QueueActor.options(…)。如果你需要传递自定义资源需求,这可能会很有用。
示例
from ray.util.queue import Queue q = Queue() items = list(range(10)) for item in items: q.put(item) for item in items: assert item == q.get() # Create Queue with the underlying actor reserving 1 CPU. q = Queue(actor_options={"num_cpus": 1})
PublicAPI (测试版): 此API目前处于测试阶段,在成为稳定版本之前可能会发生变化。
方法
队列是否为空。
队列是否已满。
从队列中获取一个项目。
从队列中获取一个项目。
等同于 get(block=False)。
从队列中获取项目,并按顺序将它们以列表形式返回。
向队列中添加一个项目。
向队列中添加一个项目。
等同于 put(item, block=False)。
按顺序将项目列表放入队列中。
队列的大小。
终止底层 QueueActor。
队列的大小。