queue
当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ、ZeroMQ,炙手可热的Kafka,还有阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。这些都是大型的重量级消息队列,通常应用于商业生产环境。
Python为我们内置了一个微型轻量级的消息队列模块,queue!queue模块主要用于多生产者和消费者模式下的队列实现,特别适合多线程时的消息交换。它实现了常见的锁语法,临时阻塞线程,防止竞争,这有赖于Python对线程的支持。
queue模块实现了三种队列
FIFO:先进先出队列,类似管道。元素只能从队头方向一个一个的弹出,只能从队尾一个一个的放入。
LIFO:后进先出队列,也就是栈。元素永远只能在栈顶出入。