到底啥是消息队列?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
啥是消息队列?为啥要用消息队列?有那些常用的消息队列?一文解答你的疑问