from collections import deque from threading import Thread, Lock class MyDeque: def __init__(self,maxlen=1): self.len = maxlen self.dq = deque(maxlen=maxlen) self.lock = Lock() def __del__(self): del self.dq def isfull(self): if len(self.dq) == self.len: return True return False def myappend(self,object): with self.lock: self.dq.append(object) def mypopleft(self): object = None with self.lock: if self.dq: object = self.dq.popleft() else: pass return object def myclear(self): with self.lock: self.dq.clear()