- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 JMS 队列,并且我已经为此 JMS 队列编写了一个使用者。我计划删除此 Consumer 方法内的所有逻辑并编写一个 CompletableFuture 并通过 CompletableFuture 运行所有逻辑并让主消费者线程退出。我对这种方法的想法是,由于所有逻辑都将异步执行,我将能够释放主线程并释放一些 CPU 和空间。请您告诉我我的想法是否正确。非常感谢您的帮助。
最佳答案
使用并发机制处理来自 JMS 队列的数据是一种非常常见的模式,而且通常是一个好主意。它不一定会节省 CPU,因为工作量是相同的,但如果您将处理逻辑作为线程池的一部分执行,它将允许您更快地处理更多消息。
通常,您的消费者将负责从队列中获取消息,创建一个对象来进行处理(CompletableFuture
或其他),并将其提交到线程池(请参阅执行者
)。
在不了解细节的情况下,一般答案是肯定的。使用并发机制处理队列中的数据是一种常见的模式和良好的实践,但是当然有大量的警告和设计选择取决于您的具体要求,因此买家要小心。
关于java - 使用 CompletableFuture 从主线程退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59854966/
有人可以向我澄清主线 DHT 规范中的声明吗? Upon inserting the first node into its routing table and when starting up th
我正在尝试使用 USB 小工具驱动程序使嵌入式设备作为 MTP 设备工作。 我知道 Android 从大容量存储设备切换到 MTP 设备已经有一段时间了,并且找到了 source code for M
我是一名优秀的程序员,十分优秀!