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
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)
|