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)