C#后台异步消息队列实现

别说谁变了你拦得住时间么 提交于 2020-02-24 18:21:58

简介

基于生产者消费者模式,我们可以开发出线程安全的异步消息队列。

知识储备

什么是生产者消费者模式?

为了方便理解,我们暂时将它理解为垃圾的产生到结束的过程。

简单来说,多住户产生垃圾(生产者)将垃圾投递到全小区唯一一个垃圾桶(单队列),环卫将垃圾桶中的垃圾进行处理(消费者)。就是一个生产者消费者模式。

这种模式的好处,就不在这里叙述了,毕竟这篇文章不是在讲设计模式。有兴趣的小伙伴可以自行了解一下。

应用场景

很多时候,我们有一些不紧急但却对操作顺序有强依赖的需求。

比如,12306候补抢票。(并不代表真的是这种模式,为了举例方便理解)

当用户提交候补请求时即生产出一条消息,入队一个消息队列中,只要有人退票,就在队列中出队一个用户的消息。由于队列的性质是先进先出的,利用这种性质我们就可以实现公平的候补机制。

今天先写到这里。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!