【问题标题】:queue.get() with a cumulative timeout for n elementsqueue.get() 具有 n 个元素的累积超时
【发布时间】:2018-10-17 09:07:22
【问题描述】:

queue.Queue.get 方法有一个timeout 参数来等待一个元素的存在来检索。

我想一次“最多”检索 25 个元素,等待“最多”5 秒。我怎样才能做到这一点?

【问题讨论】:

  • 我删除了python-trio 标签,因为它与这个问题无关。

标签: python python-3.x queue buffer


【解决方案1】:

简单计算剩余时间(out)。

TIMEOUT=5

t = time.monotonic()+TIMEOUT
items = []
for n in range(25):
    try:
        items.append(q.get(timeout=t-time.monotonic()))
    except queue.Empty:
        break

【讨论】:

    猜你喜欢
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    相关资源
    最近更新 更多