每个JVM实例只使用一个线程吗?
例如。如果用户向一个需要5秒的JVM实例发出请求,然后2秒后另一个用户向同一个JVM实例发出请求,那么第二个用户是否必须等待剩余的3秒才会开始处理它们的请求?
答案 0 :(得分:2)
目前,JVM是单线程的,但你不应该依赖于这种情况:Java Servlet规范允许Servlet容器是多线程的。
就您的示例而言,不,第二个用户不必等待:App Engine会旋转多个独立的虚拟机来为您的应用提供服务,因此第二个请求将转到另一个虚拟机。
答案 1 :(得分:0)
我不这么认为。如果它像任何其他应用程序服务器一样工作,则每个请求都在不同的线程上。
答案 2 :(得分:0)
每个实例可以有多个线程。我找不到对这样说的链接的引用,但如果每个JVM都是单线程的,我认为由于新JVM启动的延迟,我们会看到更多的请求感觉很慢。