Java 多线程性能提升

标签 java multithreading file mq

我的应用程序使用单线程完成任务大约需要 200 毫秒。我们有附加到 MQ 的监听器,它将拾取消息并处理它。

当我将 MDB 线程数增加到 5 时,处理队列中的 5 条消息所需的处理时间应该约为 200 毫秒,但实际花费了大约 600 毫秒。可能是什么问题或有任何改进建议它。

进程之间涉及文件I/O、DB插入更新操作。

最佳答案

如果您的任务仅受 CPU 限制,则系统中的 CPU(核心)数量可能会接近线性扩展。然而,正如您所说,您正在使用共享资源,这可能就是您问题的原因。尝试分析您的应用程序,看看实际发生了什么。

关于Java 多线程性能提升,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22578290/

相关文章:

java - 以 & 作为分隔符的正则表达式

c# - 如何在另一个线程中初始化沉重的控件?

c - 如何从一个 C 文件访问另一个 C 文件中的变量?

c# - Java 相当于使用别名的 C#

java - 自定义 ArrayAdapter 从左下角填充 GridView

ruby - RSpec:使用线程进行测试

java - 将 Runnable 发布到纯 Java 中的另一个线程

c - 线程到多搜索文件

python - 在python中使用变量创建txt文件

java - FileWriter 没有将运行时整数值插入到文件中?