4

我有自己的构建 java web 应用程序的框架,并且在该框架内,我创建了自己的 Threadpool 执行器服务,它是单例的。因此,每个使用我的框架的 Web 应用程序都会在启动时创建 1 个线程池执行程序,以供内部使用。

我的问题是:

  1. 假设我在同一个 Tomcat 中部署了 2 个 Web 应用程序,这 2 个线程池会相互干扰吗?
  2. 第一个网络应用程序的线程是否有可能从第二个网络应用程序访问线程池,反之亦然?
  3. 我是否需要为驻留在单个 servlet 容器中的所有 Web 应用程序创建一个 Threadpool 服务,而不是为每个 Web 应用程序创建一个?

谢谢你。

4

1 回答 1

1
  1. 不。 webapps 应该由 Tomcat 中的 ClassLoader 隔离,因此每个应用程序都应该有自己的单例实例。
  2. 只要#1 的答案实际上是否定的,那么这个答案也是否定的。
  3. 可能不是。

顺便说一句,我的理解是,作为一般规则,Java EE Web 应用程序不应该启动新线程。

于 2013-08-02T01:39:00.667 回答