首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Executor框架与JMS之类的消息队列之间的区别

Executor框架与JMS之类的消息队列之间的区别
EN

Stack Overflow用户
提问于 2014-10-26 05:24:12
回答 1查看 1.1K关注 0票数 5

消息队列主要用于在服务器上执行异步任务&我最近读到了Executor框架,该框架也执行相同的操作,生成和管理执行异步任务的线程。有人能告诉我两者的区别吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-26 05:41:27

主要区别在于Executor框架用于程序内任务的排队和执行,而JMS用于在不同机器上的不同程序之间排队(通常)。

其他差异包括:

  • JMS队列是(或可以)持久的,其中作为执行器,等等仅在内存中。
  • JMS队列(我相信)可以在事务性系统中使用,在事务系统中,执行器等不能使用JMS队列。(在某种程度上,这是持久性/非持久性区别的结果。)

因此,这意味着如果我的应用程序不是分布式的,我可以使用Executor框架。

也许..。

例如,我想编写一个fb风格的通知系统&发布订阅,执行器框架的使用是否适合于此?我假设代码将在同一台机器上的一个数据库中。

问题是,Executor框架的标准实现不会将任务队列放到数据库中。它们只是重量轻的内存数据结构。如果您的应用程序重新启动,它们不会持久存在。

现在,我想您可以编写您的Executor / ExecutorService类,将队列放入数据库中。但何必费心呢?使用JMS或类似的.

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

https://stackoverflow.com/questions/26570058

复制
相关文章

相似问题

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