from collections import deque from threading import Thread, Lock class MyDeque: def __init__(self,maxlen=1): self.dq = deque(maxlen=maxlen) self.lock = Lock() 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() return object