py并发_线程操作队列笔记
线程操作队列
在程序开发之中,队列属于一种缓冲的结构,那么实际上对于当前的生产者与消费者模型之中最佳的处理性能是要引入一个队列进行数据保存。可以试想一种场景:在生产线上,每一位工人都必须保证正常的处理效率,那么否则就会出现产品的堆积,从而影响整条生产线的产能,如果说此时生产者生产数据很快,但是消费者比较慢,这种时候就会造成一种生产资源的严重浪费。

数据缓冲区(队列)
队列定义
数据缓冲区的实现可以依靠queue模块来实现,此模块提供了三种线程同步队列类的定义:
- queue.Queue: 先进先出(FIFO)同步队列;
- queue.LifoQueue: 后进先出(LIFO)同步队列;
- queue.PriorityQueue: 优先级队列。
队列方法

测试
1 | |
[生产者线程]title = 佳佳、content = 下次见面时给我微笑吧0
[生产者线程]title = 你再坚持一下、content = 他很快就痊愈了1
[生产者线程]title = 佳佳、content = 下次见面时给我微笑吧2
[生产者线程]title = 你再坚持一下、content = 他很快就痊愈了3
[生产者线程]title = 佳佳、content = 下次见面时给我微笑吧4
[生产者线程]title = 你再坚持一下、content = 他很快就痊愈了5
[生产者线程]title = 佳佳、content = 下次见面时给我微笑吧6
【消费者进程】title = 佳佳、content = 下次见面时给我微笑吧0
[生产者线程]title = 你再坚持一下、content = 他很快就痊愈了7
【消费者进程】title = 你再坚持一下、content = 他很快就痊愈了1
[生产者线程]title = 佳佳、content = 下次见面时给我微笑吧8
【消费者进程】title = 佳佳、content = 下次见面时给我微笑吧2
[生产者线程]title = 你再坚持一下、content = 他很快就痊愈了9
【消费者进程】title = 你再坚持一下、content = 他很快就痊愈了3
[生产者线程]title = 佳佳、content = 下次见面时给我微笑吧10
……
此时程序中生产者线程执行性能,或者说是生产者的效率一定是会大幅度的提升,引用队列是一种提升生产者处理性能的一种必要的设计手段,而在实际的开发之中,会存在有一些消息中间件,这种中间件基本上利用了这种队列的形式来解决了数据过多而消费过慢的问题。