原因:由于python 封装的Queue的get函数查看队首就会将队首元素从头部remove,对于只查看不取出的操作想要还原原队列的时间成本较高(需要将队列逐个取出再放入)
解决:使用list实现,代码如下
def ackdata(num):
index=0
while True:
tmp=self.seqs[index]
if num>=tmp:
index+=1
else:
break
if index+1>len(self.seqs):
self.seqs=[]
break
if index+1<len(self.seqs):
self.seqs=self.seqs[index:] # 这样实现虚拟队列
实现了将队首大于num的元素弹出,遇到不大于的即停止。