首页 / JAVA / 用于广播的Java并发队列?
用于广播的Java并发队列?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用于广播的Java并发队列?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含955字,纯文字阅读大概需要2分钟。
内容图文
![用于广播的Java并发队列?](/upload/InfoBanner/zyjiaocheng/720/9fa49c00eeed4d859b3a9aebd861cb54.jpg)
我有一堆生产者线程添加到BlockingQueue和一个工作线程获取对象.现在我想扩展这个,所以两个工作线程正在接受对象,但是对对象做了不同的工作.这是扭曲:我想要一个已被放在队列中的对象由两个接收线程处理.
如果我继续使用BlockingQueue,则两个线程将竞争对象,并且只有一个工作线程将获得该对象.
所以我正在寻找类似于BlockingQueue的东西,但是有广播行为.
应用程序:生产者线程实际上正在创建性能测量,其中一个工作者正在将测量值写入文件,而另一个工作者正在聚合统计信息.
我正在使用Java 6.
这样的机制存在吗?在Java SE?别处?或者我需要自己编码吗?
我正在寻找占地面??积小的解决方案 – 我宁愿不安装一些框架??来做到这一点.
解决方法:
一个选项:有三个阻塞队列.您的主要制作人将项目放入“广播”队列.然后,您拥有该队列的消费者,该消费者使用每个项目,将其放入其他两个队列中,每个队列由一个消费者提供服务:
Q2
---- Real Consumer 1
Q1 /
Producer ---- Broadcast Consumer
---- Real Consumer 2
Q3
或者,您可以为生产者提供两个阻塞队列,并让它将它生成的项目放入两者中.那不太优雅,但总体上稍微简单:)
内容总结
以上是互联网集市为您收集整理的用于广播的Java并发队列?全部内容,希望文章能够帮你解决用于广播的Java并发队列?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。