首页  >  问答  >  正文

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

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

PHP中文网PHP中文网2674 天前1003

全部回复(2)我来回复

  • 漂亮男人

    漂亮男人2017-06-23 09:16:19

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

    回复
    0
  • 大家讲道理

    大家讲道理2017-06-23 09:16:19

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

    回复
    0
  • 取消回复