You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

12 lines
403 B

import queue
class DroppingQueue(queue.Queue):
"""自定义队列,满时自动丢弃最旧的数据"""
def put(self, item, block=False, timeout=None):
try:
return super().put(item, block=block, timeout=timeout)
except queue.Full:
# 队列满时丢弃最旧的一个数据
self.get_nowait()
return super().put(item, block=False)