到底啥是消息队列?Java中如何实现消息队列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了到底啥是消息队列?Java中如何实现消息队列相关的知识,希望对你有一定的参考价值。

参考技术A

消息队列,顾名思义 首先是个队列。

队列的操作有入队和出队

也就是有一个程序在产生内容然后入队(生产者)

另一个程序读取内容,内容出队(消费者)

这是最最基本的概念。


java中的消息队列

消息队列是线程间通讯的手段:

import java.util.*

public class MsgQueue

private Vector queue = null;
public MsgQueue()
queue = new Vector();

public synchronized void send(Object o)

queue.addElement(o);

public synchronized Object recv()

if(queue.size()==0)
return null;
Object o = queue.firstElement();
queue.removeElementAt(0);//or queue[0] = null can also work
return o;

因为java中是locked by object的所以添加synchronized 就可以用于线程同步锁定对象

可以作为多线程处理多任务的存放task的队列。他的client包括封装好的task类以及thread类

参考技术B 所谓队列,就是按照队首先出的规则建立的数据结构,消息队列就是根据消息到来后按照一定的规则进行排序,但一定是队首的消息先得到应答的队列。(建议学下数据结构)

以上是关于到底啥是消息队列?Java中如何实现消息队列的主要内容,如果未能解决你的问题,请参考以下文章

RabbitMQ面试题:啥是延迟队列? --- 2022-04-03

Redis(五)-特性-消息队列

啥是消息队列?为啥要用消息队列?有那些常用的消息队列?一文解答你的疑问

啥是消息队列?为啥要用消息队列?有那些常用的消息队列?一文解答你的疑问

消息队列(mq)是啥?

在JAVA中怎么实现消息队列