是谷歌appengine单线程吗?(java)

时间:2012-04-27 09:04:11

标签: java google-app-engine

我的问题是“Google是单线程吗?现在我问我知道我无法通过在java中使用线程来启动自己的线程。但我们可以使用后端启动线程。

我担心线程请求如何处理请求。我读了一个在appengine的地方,每个请求排队然后逐个服务。我可以配置请求可以排队的最长时间。如果时间服务器请求超过最大时间,然后创建新实例。

那么如果我想使用单个实例(免费配额)该怎么办。

如果我得到多个请求为r1,r2,r3,r4(按此顺序)。那么每个请求是否会一个接一个地提供(如果是单个实例)?

如果我在负载增加时创建多个实例并且动态创建新实例,那么实例1的主内存中存在的数据是否也会被克隆到实例?

2个实例中的数据是否会一直同步?

2 个答案:

答案 0 :(得分:3)

同意尼克所说的,但也想指出这句话: “现在当我问我知道我无法通过在java中使用线程来启动我自己的线程”

不再是真的。有关更多详细信息,请参阅此处有关线程的部分: https://developers.google.com/appengine/docs/java/runtime#The_Sandbox

因此,总而言之,App Engine有多种方式是多线程的:
- 请求可以由单个实例同时使用每个请求的线程处理 - 单个请求可以显式启动其他线程

答案 1 :(得分:1)

the docs中所述,您可以在Java应用程序上启用并发请求,在这种情况下,将生成多个线程,每个线程都独立处理请求。

实例不会克隆已经运行的实例,也不会以任何方式同步 - 您需要以不依赖于特定可变实例状态的方式编写代码。