首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有使用者代码的Executor服务框架

带有使用者代码的Executor服务框架
EN

Stack Overflow用户
提问于 2013-08-13 20:08:16
回答 2查看 1.1K关注 0票数 1

我计划使用带有固定线程池和IBM消息传递的ExecutorService编写类似于生产者和使用者的代码。

假设作为使用者,我创建了10个固定线程。如果我在消费者队列中放置10条消息,它将如何处理它?10个使用者工作线程将如何涵盖以下场景?

  1. 每个工作线程同步接收单个消息并处理消息?
  2. 每个消费者工作者线程都接受这10条消息,就像每条消息一个工作线程一样?
  3. 在将此消息作为上面的第二种场景读取后,每个线程如何同时或同步地调用executor service.Is。
  4. 如果队列中有20条消息,使用者工作线程如何接收这些消息,每个线程接收2条消息?如果每个线程需要一条消息,那么其他10条消息会发生什么呢?

在处理上述场景时,有webservice调用和内部api方法调用,但这些都是同步方法。所以,如果我实现这个类来并发处理代码,有什么用处吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-13 20:16:46

如果您已经实现了好的工具,比如JMS、调试、支持许多特性并得到框架(例如Spring )的支持,那么实现生产者/消费者方案不是一个好主意。

别发明轮子!

票数 0
EN

Stack Overflow用户

发布于 2013-08-13 22:35:02

例如,如果您在应用程序服务器中运行,比如WebSphere,那么您可以简单地将消息驱动Bean (MDB)部署到JMS中,它将完成您所描述的几乎完全相同的任务。

如果您只是在构建一个Java应用程序,那么使用ExecutorService就可以了。首先将一个MessageListener放在会话上,然后让该侦听器提交()的onMessage()将消息的处理器(例如可运行的)提交给ExecutorService。一旦处理器完成了它的工作,它就应该确认消息()。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18218297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档