简介
基于生产者消费者模式,我们可以开发出线程安全的异步消息队列。
知识储备
什么是生产者消费者模式?
为了方便理解,我们暂时将它理解为垃圾的产生到结束的过程。
简单来说,多住户产生垃圾(生产者)将垃圾投递到全小区唯一一个垃圾桶(单队列),环卫将垃圾桶中的垃圾进行处理(消费者)。就是一个生产者消费者模式。
这种模式的好处,就不在这里叙述了,毕竟这篇文章不是在讲设计模式。有兴趣的小伙伴可以自行了解一下。
应用场景
很多时候,我们有一些不紧急但却对操作顺序有强依赖的需求。
比如,12306候补抢票。(并不代表真的是这种模式,为了举例方便理解)
当用户提交候补请求时即生产出一条消息,入队一个消息队列中,只要有人退票,就在队列中出队一个用户的消息。由于队列的性质是先进先出的,利用这种性质我们就可以实现公平的候补机制。
今天先写到这里。