RabbitMQ系列

RabbitMQ(一)——简介

RabbitMQ(二)——模式类型

RabbitMQ(三)——简单模式

RabbitMQ(四)——工作队列模式

RabbitMQ(五)——发布订阅模式

RabbitMQ(六)——路由模式

RabbitMQ(七)——主题模式

RabbitMQ(八)——消息确认

RabbitMQ(九)——消息持久化

RabbitMQ(十)——消息优先级

 

 

 

  工作队列模式:

    一个生产者,多个消费者,每个消费者获取到的消息唯一,当您运行多个工作线程,这些消息将在工作线程之间共享,默认轮询获取。简单的说,工作队列模式和简单模式一样,只是简单模式一个生产者一个消费者一对一,而工作队列模式一个生产者多个消费者。

                  RabbitMQ(四)——工作队列模式

 

 

   这里启动三个线程,分别为生产者,消费者1,消费者2其中生产者和消费者代码与上一篇简单模式基本一致,稍作修改

 

实现

  生产者:

static void Main(string[] args)
        {
            //1.创建连接工厂
            ConnectionFactory factory = new ConnectionFactory()
            {
                HostName = "127.0.0.1",
                UserName = "guest",
                Password = "guest"
            };
            //2.创建连接
            var connection = factory.CreateConnection();
            //3.创建管道
            var channel = connection.CreateModel();
            //4.声明队列
            channel.QueueDeclare("simple", false, false, false, null);

            for (int i = 0; i < 20; i++)
            {
                string msg = $"第{i + 1}条消息";
                //5.发布消息
                channel.BasicPublish("", "simple", null, Encoding.UTF8.GetBytes(msg));
                Console.WriteLine($"已发送消息:{msg}");
                Thread.Sleep(1000);
            }
            channel.Close();
            connection.Close();

            Console.ReadKey();
        }
View Code

相关文章:

猜你喜欢
相关资源
相似解决方案