文章详情页
java - 并发操作下关于队列的疑问?
浏览:135日期:2023-10-26 15:47:21
问题描述
常用的rabbitmq,activeMq队列,多个消费者或者多个线程去取队列中的数据,会不会出现不同消费者同时到达取到同一个数据的情况?目前只知道redis由于是单线程的,做队列的时候可以避免这种情况。
问题解答
回答1:消息队列的发布订阅模式有多种,有一个消息多个消费者都能获取到的模式,有一个消息发送到指定消费者模式,选择合适你自己的~你说的这种可以用rabbitmq的direct模式
回答2:任何消息队列,只要自称是消息队列服务的,都会保证这点,无须担心。但要注意的是,消息队列有两种模式,生产者消费者模式和发布者订阅者模式,前者保证每条消息只会被消费一次,后者保证每条消息能达到所有的订阅者,因此被消费的次数不确定。
标签:
java
相关文章:
1. java - android代码重构:如何把app设置里的头像UI做成通用的?2. java - 如何写一个intellij-idea插件,实现编译时修改源代码的目的3. javascript - ios返回不执行js怎么解决?4. javascript - vue-router怎么不能实现跳转呢5. 为什么php修改数据无法同步到数据库,只是当前页面修改成功?6. css3 - 一个关于CSS雪碧图的问题7. javascript - node内存溢出问题8. java - String s=new String()与String s = ""的区别9. node.js - mysql如何通过knex查询今天和七天内的汇总数据10. docker Toolbox在win10 家庭版中打开报错
排行榜

网公网安备