【发布时间】:2019-11-11 06:49:46
【问题描述】:
我需要一个结构,我可以将 pop() 和 append() 放到右侧(就像双端队列一样),同时让结构在它为空时阻塞并等待(就像队列一样)。我可以直接使用队列,但我还需要 deque 的不错功能,如果结构已满,则可以在不阻塞的情况下删除项目。
from collections import deque
d = deque(maxlen=2)
d.append(1)
d.append(2)
d.append(3) # d should be [2,3] (it is the case)
d.pop()
d.pop()
d.pop() # should wait (not the case)
继承 deque(让它等待)还是 Queue(添加 popLeft 函数)更好?
【问题讨论】:
标签: python python-3.x multithreading queue deque