介绍
这篇文章给大家介绍Python中的队列方式有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
队列是一种只允许在一端进行插入操作,而在另一端进行删除操作的线性表。
在Python文档中搜索队列(队列)会发现,Python标准库中包含了四种队列,分别是队列。队列/asyncio。队列/多处理。队列/collections.deque。
<强> collections.deque 强>
双端队列是双端队列(双头队列)的缩写,由于两端都能编辑,双端队列既可以用来实现栈(栈)也可以用来实现队列(队列)。
双端队列支持丰富的操作方法,主要方法如图:
q =, collections.deque ([1,, 2,, 3,, 4]) 打印(5,问拷贝),#,假的 打印(1,问拷贝),#,真正的
双端队列还封装了顺逆时针的旋转的方法:旋转。
#,顺时针 时间=q collections.deque ([1,, 2,, 3,, 4]) q.rotate (1) 打印(q), #, [4,, 1,, 2,, 3] q.rotate (1) 打印(q), #, [3,, 4,, 1,, 2] #,逆时针 时间=q collections.deque ([1,, 2,, 3,, 4]) q.rotate (1) 打印(q), #, [2, 3, 4, 1] q.rotate (1) 打印(q), #, [3,, 4,, 1,, 2]
线程安全方面,collections.deque中的append (), pop()等方法都是原子操作,所以是吉尔保护下的线程安全方法。
static PyObject * deque_append (dequeobject *双端队列,PyObject *项),{, ,Py_INCREF(项); 队列,if (deque_append_internal(,,,,双端队列→maxlen), & lt;, 0), ,return 零; ,Py_RETURN_NONE; }
通过说方法可以看的到,附加是原子操作(一行字节码)。
<强>多处理。队列强>
多处理提供了三种队列,分别是队列,SimpleQueue, JoinableQueue。
关于Python中的队列方式有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。