我有一个java软件,可以执行以下功能。 1)监听MQ队列 2)当消息到达时,需要将信息解析为json 3)根据消息信息,需要进行数据丰富,查询数据库 4)向数据库插入/更新新数据
我的疑问是最后一部分。我认为我使用线程执行步骤 1、2 和 3 来加速我的应用程序,因为它可以毫无问题地并发执行。 最后一部分(步骤 4)需要进行协调,以便按照消息到达 MQ 队列(从旧到新)的顺序将信息插入/更新到数据库中。
今天,我的应用程序在没有线程的情况下工作,因此它按顺序处理所有步骤(每次执行一条消息)而不会出现并发问题,但我知道步骤 1、2、3 可以并发执行而不会出现问题。有办法做我需要的事情吗?
我真的很感谢任何帮助。 谢谢
最佳答案
只有当您预见或实际面临任何性能问题时,您才应该考虑线程。这取决于预期的负载和性能。有时使用线程也是一种开销/成本,因为它需要协调。在单核处理器上执行多线程也会使事情变得更糟
因此,如果您发现基于预期负载的性能问题,只要您有足够的核心支持,就可以尝试一下
关于java - 我可以使用线程来解析信息并协调数据库插入吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41098628/