我计划在我的一个web应用程序中使用executor框架作为后台进程,比如发送邮件和记录我开始阅读的关于Executor API的details.When,我知道它提供了线程池功能。但我有一个想法,我们不需要在web应用程序中使用线程池机制。因为在默认情况下,我的应用程序服务器控制线程轮询等等。所以我的观点是,我们不需要在web应用程序场景中实现线程池?这一点是对还是错?
发布于 2013-02-08 16:24:29
这取决于你引用的是哪些线程。
用于处理进入应用服务器的请求的线程由容器本身处理。你不必担心这一点。
但是,如果您的应用程序需要处理由请求发起的较长时间的任务,并且您希望快速响应请求,则可以让线程处理这些任务。为此,您可以在application startup启动多个线程,并在需要运行长任务时使用它们。See this。
发布于 2016-01-28 00:16:18
从JavaEE7开始,现在有了一个类似于SE ExecutorService的EE版本的“ManagedExecutorService”。它被设计用于“托管环境”,即由运行在EE服务器中的应用程序使用。http://docs.oracle.com/javaee/7/api/javax/enterprise/concurrent/ManagedExecutorService.html
发布于 2017-07-18 00:39:05
服务器容器为Java EE应用程序组件提供运行时支持
(如servlets和企业JavaBeansTM (EJBTM))
。它们在应用程序组件代码与平台服务和资源之间提供了一个层。所有应用程序组件代码都在由容器管理的线程上运行,每个容器通常都希望对容器提供的对象的所有访问都发生在同一线程上。
正是由于这种行为,应用程序组件通常不能从不受容器管理的线程可靠地使用其他Java平台服务。Java产品提供者还不鼓励以非托管方式使用资源,因为它可能会破坏平台旨在提供的企业特性,例如
可用性、安全性、可靠性和可扩展性。
检查此link
https://stackoverflow.com/questions/14766994
复制相似问题