我需要以阻塞方式从队列中获取尽可能多的项目(最多 N 个)。例如:
queue.get(16)
最多应返回 16 个元素,但如果为空则阻塞。
没有内置这样的工具,因此您需要自己编写代码;例如,
import queue # in Python 3; Queue in Python 2
...
def getn(q, n):
result = [q.get()] # block until at least 1
try: # add more until `q` is empty or `n` items obtained
while len(result) < n:
result.append(q.get(block=False))
except queue.Empty:
pass
return result
Then do getn(queue, 16)
为你的概念queue.get(16)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)