您的位置:首页技术文章
文章详情页

java - 并发操作下关于队列的疑问?

浏览:72日期:2023-10-26 15:47:21

问题描述

常用的rabbitmq,activeMq队列,多个消费者或者多个线程去取队列中的数据,会不会出现不同消费者同时到达取到同一个数据的情况?目前只知道redis由于是单线程的,做队列的时候可以避免这种情况。

问题解答

回答1:

消息队列的发布订阅模式有多种,有一个消息多个消费者都能获取到的模式,有一个消息发送到指定消费者模式,选择合适你自己的~你说的这种可以用rabbitmq的direct模式

回答2:

任何消息队列,只要自称是消息队列服务的,都会保证这点,无须担心。但要注意的是,消息队列有两种模式,生产者消费者模式和发布者订阅者模式,前者保证每条消息只会被消费一次,后者保证每条消息能达到所有的订阅者,因此被消费的次数不确定。

标签: java
相关文章: