multithreading - Play Framework 中每个请求的线程

标签 multithreading jakarta-ee playframework playframework-2.0 httprequest

我是一名 J2ee 开发人员,我是框架的新手。我进行了彻底的研究,但找不到任何明确的文档。

问题是,play 如何处理请求。它会像J2ee容器一样为每个请求创建一个线程吗?

如果不是每个请求线程那么如果我们将 Play 应用程序作为 war 文件部署在 Tomcat 中会发生什么。

最佳答案

首先,play2框架不支持tomcat。

使用 play 和 netty,您不必为每个请求分配一个线程。 默认情况下,在 Play 中每个核心有一个线程,但我们假设您只有一个线程来处理所有请求;

在此架构中,一个线程由所有请求共享。所以线程处理第一个请求,当它空闲时(当它调用 db 或 url 等时它是空闲的)它开始处理第二个请求。因此线程不必为第一个请求返回响应以启动第二个请求。

有人可能会认为系统使用这种架构会变得太慢,但事实并非如此,因为性能取决于 cpu。

关于multithreading - Play Framework 中每个请求的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28783583/

相关文章:

c++ - 有没有一种方法可以将 Qt 中的信号设为 `eat`?

java - DTO,如何避免它们?

c++ - tbb::combinable::local() 太慢

java - Web 容器中的 Servlet 实例

java - 如何使用 Eclipse Mars 在部署描述符中定义 servlet?

java - Play Framework 版本1.2.4

java - play.data.Form.Field 到 play.data.Form[models.xxxx] 可能吗?

json - Play json 将缺失字段解析为空数组

multithreading - 多线程 DBMS?

c# - 从 .NET 3.5 中的单独线程设置 Form.Owner