JAVA:多线程代码在Web应用程序中的影响[关闭]

问题描述 投票:-1回答:1

在企业后端Java应用程序中,我有一个要求,即代码的某些部分调用各种AP​​I,它们彼此独立。收到回复后,我正在利用它们并将数据传递给请求者。

为此,我实现了基于可调用的多线程(使用Executor)。但是一位同事表示,实施多线程将使我的代码负责管理资源而不是Web App Container,这可能导致性能问题。

所以我想知道,在我的代码中实现多线程有什么影响?如何确保在不影响整体应用程序的情况下正确管理资源。

java performance application-server
1个回答
1
投票

你的问题中有一些不同的aspectes混合在一起。不禁止在应用程序服务器上创建线程,因为它可能会导致执行问题。更重要的是服务器本身负责管理系统资源。生成服务器不知道的自己的线程无法由服务器管理。有关该主题的更多信息,请参阅this page

使用平台提供的线程执行器是非常有效的,但仍可用于实现多线程。以See here为例。

多线程的另一个方面确实是性能。创建线程带有certain cost,创建太多可能会导致conext切换的开销。必须由开发人员采用pralellism和必须管理大量线程之间的权衡。这也是应用服务器再次管理自己的线程池的原因。

© www.soinside.com 2019 - 2024. All rights reserved.