队列:
存放对象的容器
消息队列的作用:
异步:
点赞业务(对于实时性要求不是很高,并且对数据库操作)
系统解耦(订单系统,发货系统)
缓存流量(秒杀)
队列的方法:
创建队列,初始化队列: q = queue.Queue(maxsize)
往队列中存放元素: q.put(obj)
往队列中取元素: q.get()
元素是否被取完 :q.empty()
生产者消费者模型:
通过一个容器来解决生产者和消费者的强耦合问题
生产者和消费者彼此之间不直接通信,而是通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理
直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生产
者和消费者的处理能力。