我的Google Cloud Endpoints API后端应该是线程安全的吗?

时间:2014-08-16 23:01:33

标签: multithreading concurrency google-cloud-endpoints google-app-engine

我想明确一点:我问的是我在自己的实现中没有使用任何并发的情况。我只是想知道我的后端将被调用的框架(即谷歌应用引擎)本身是否对其上运行的代码施加了线程安全要求。

谢谢!


P.S。作为一个相关但独立的问题,是否有关于如何在我们自己的后端代码中进行多线程处理的指导(然后显然需要适当的线程安全)。具体来说,我们可以使用java的标准执行器服务/线程池,还是有一些谷歌批准的API?感谢。

1 个答案:

答案 0 :(得分:0)

所以谷歌应用引擎或任何其他平台都无法确保您的线程安全,因为您的critical sections试图使线程安全的所有concurrency control techniques都是由开发人员(您)定义的操作系统无法知道何时应该进行读写操作。对于JVM,大量使用的两个主要并发库是Guava libraries(由google!;-)制作)和Akka framework

这两个都是很棒的图书馆,我已经使用过这两个图书馆并且从他们的学习曲线中获得了乐趣。我还建议调查Play Framework,它们支持akka框架,构建反应式网络应用程序是他们的主要关注点。如果您有兴趣学习生产框架的一些很酷的方面,我强烈建议学习和实施Dropwizard(谷歌应用程序引擎不支持它,但你从它获得的收益肯定超过了con)。

如果您有任何疑问,请与我们联系!