1、工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。
一个线程处理大量消息,太慢了,所以就用多线程同时处理。
注意:生产者发送的消息只能被处理一次,如果被处理多次,就会造成工作内容的重复
工作队列模式特点:轮训分发消息
2、首先,我们对我们上节的代码抽取一个工具类
package com.example.demo.utils;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
/**
* 此类为连接工厂创建信道的工具类
*/
public class RabbitMqUtils {
//得到一个连接的 channel
public static Channel getChannel() throws Exception{
//创建一个连接工厂
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("192.168.1.103");
factory.setUsername("admin");
factory.setPassword("123")