C#队列学习笔记:RabbitMQ使用多线程提高消费吞吐率
【推荐阅读】微服务还能火多久?>>> 一、引言 使用工作队列的一个好处就是它能够并行的处理队列。如果堆积了很多任务,我们只需要添加更多的工作者(workers)就可以了,扩展很简单。本例使用多线程来创建多信道并绑定队列,达到多workers的目的。 二、示例 2.1、环境准备 在NuGet上安装RabbitMQ.Client。 2.2、工厂类 添加一个工厂类RabbitMQFactory: /// <summary> /// 多路复用技术(Multiplexing)目的:为了避免创建多个TCP而造成系统资源的浪费和超载,从而有效地利用TCP连接。 /// </summary> public static class RabbitMQFactory { private static IConnection sharedConnection; private static int ChannelCount { get ; set ; } private static readonly object _locker = new object (); public static IConnection SharedConnection { get { if (ChannelCount >= 1000 ) { if (sharedConnection != null &&