import collections
#python双端队列 线程安全
class TaskQueue(object):
def __init__(self):
self.taskqueue = collections.deque()
#从左边弹出
def lpop(self):
if self.size() != 0:
return self.taskqueue.popleft()
#从右边弹出
def pop(self):
if self.size() != 0:
return self.taskqueue.pop()
def lpush(self,task):
if task not in self.taskqueue:
self.taskqueue.appendleft(task)
def rpush(self,task):
if task not in self.taskqueue:
self.taskqueue.append(task)
def show_task(self):
return self.taskqueue
def size(self):
return len(self.taskqueue)
if __name__ == '__main__':
tqueue = TaskQueue()
tqueue.rpush(12)
tqueue.rpush(1)
tqueue.rpush(2)
tqueue.rpush(12)
tqueue.rpush(1)
tqueue.lpush(12)
tqueue.lpush(1)
print tqueue.taskqueue
更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。
关于公众号的描述访问如下链接