我的应用程序使用单线程完成任务大约需要 200 毫秒。我们有附加到 MQ 的监听器,它将拾取消息并处理它。
当我将 MDB 线程数增加到 5 时,处理队列中的 5 条消息所需的处理时间应该约为 200 毫秒,但实际花费了大约 600 毫秒。可能是什么问题或有任何改进建议它。
进程之间涉及文件I/O、DB插入更新操作。
最佳答案
如果您的任务仅受 CPU 限制,则系统中的 CPU(核心)数量可能会接近线性扩展。然而,正如您所说,您正在使用共享资源,这可能就是您问题的原因。尝试分析您的应用程序,看看实际发生了什么。
关于Java 多线程性能提升,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22578290/