Python并发编程之消息队列补充及如何创建线程池(六)

2020-07-08 00:00:00 的人 消息 线程 队列 顺序

Python并发编程之消息队列补充及如何创建线程池(六)


大家好,并发编程 进入第六篇。

在第四章,讲消息通信时,我们学到了Queue消息队列的一些基本使用。昨天我在准备如何创建线程池这一章节的时候,发现对Queue消息队列的讲解有一些遗漏的知识点,而这些知识点,也并不是无关紧要的,所以在今天的章节里,我要先对Queue先做一些补充以防大家对消息队列有一些知识盲区。


再次提醒
本系列所有的代码均在Python3下编写,也建议大家尽快投入到Python3的怀抱中来。


本文目录


  • 消息队列的先进先出
  • 创建多线程的两种方式


. 消息队列的先进先出

首先,要告诉大家的事,消息队列可不是只有queue.Queue这一个类,除它之外,还有queue.LifoQueuequeue.PriorityQueue这两个类。

从名字上,对于他们之间的区别,你大概也能猜到一二吧。

queue.Queue:先进先出队列
queue.LifoQueue:后进先出队列
queue.PriorityQueue:优先级队列

先来看看,我们的老朋友,queue.Queue
所谓的先进先出(FIFO,First in First Out),就是先进入队列的消息,将优先被消费。
这和我们日常排队买菜是一样的,先排队的人肯定是先买到菜。

用代码来说明一下

看看输出,符合我们先进先出的预期。存入队列的顺序是01234,被消费的顺序也是01234

0
1
2
3
4

相关文章