0

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

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

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

如果我收到多个请求,如 r1 、 r2 、r3、r4 (按此顺序)。那么每个请求是否会一个接一个地提供服务(在单个实例的情况下)?

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

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

4

2 回答 2

3

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

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

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

于 2012-04-27T11:11:12.650 回答
1

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

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

于 2012-04-27T10:50:39.717 回答