我可以使用线程来解析信息并协调数据库插入吗?

时间:2016-12-12 10:22:34

标签: java multithreading

我在java中有一个执行以下功能的软件。 1)侦听MQ队列 2)当消息到达时,它需要将信息解析为json 3)基于消息信息,需要进行数据丰富,查询数据库 4)将新数据插入/更新到数据库

我怀疑最后一部分。我认为我使用线程来执行步骤1,2和3来加速我的应用程序,因为它可以同时执行而不会出现问题。 最后一部分(步骤4)需要以一种方式进行协调,即它以与消息到达MQ队列(从较旧到较新)的顺序相同的顺序将信息插入/更新到数据库中。

今天,我的应用程序在没有线程的情况下工作,因此它按顺序处理所有步骤(每次执行一条消息)而没有并发问题,但我知道步骤1,2,3可以同时执行而不会出现问题。有办法做我需要的吗?

我非常感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:1)

嗯,只有在预见或实际遇到任何性能问题时才应考虑线程。这取决于预期的负载和性能。寻求线程也是一种开销/成本,因为它需要协调。在单核处理器上执行多线程也会使事情变得更糟

如果您看到基于预期负载的性能问题,只要您有足够的核心支持

,那就去吧