具有n个元素的累积超时的queue.get()

时间:2018-10-17 09:07:22

标签: python python-3.x queue buffer

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

我想“一次”“最多”检索25个元素,“最多”等待5秒钟。我该如何实现?

1 个答案:

答案 0 :(得分:1)

只需计算剩余时间(超时)。

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