play框架中的每个请求的线程

时间:2015-02-28 15:47:20

标签: multithreading java-ee playframework playframework-2.0 httprequest

我是一名J2ee开发人员,我是新玩的框架。我做了一个彻底的研究,但没有找到任何明确的文件。

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

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

2 个答案:

答案 0 :(得分:0)

Play 2.3.x使用Netty来处理HTTP请求。您可以了解有关Netty here的更多信息 您还可以在Play文档中找到有关信息:https://www.playframework.com/documentation/2.3.x/ThreadPools

答案 1 :(得分:0)

首先,play2框架不支持tomcat。

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

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

有人可能会认为系统在这种体系结构上会变得太慢但不是因为性能取决于cpu。