我想明确一点:我问的是我在自己的实现中没有使用任何并发的情况。我只是想知道我的后端将被调用的框架(即谷歌应用引擎)本身是否对其上运行的代码施加了线程安全要求。
谢谢!
P.S。作为一个相关但独立的问题,是否有关于如何在我们自己的后端代码中进行多线程处理的指导(然后显然需要适当的线程安全)。具体来说,我们可以使用java的标准执行器服务/线程池,还是有一些谷歌批准的API?感谢。
答案 0 :(得分:0)
所以谷歌应用引擎或任何其他平台都无法确保您的线程安全,因为您的critical sections试图使线程安全的所有concurrency control techniques都是由开发人员(您)定义的操作系统无法知道何时应该进行读写操作。对于JVM,大量使用的两个主要并发库是Guava libraries(由google!;-)制作)和Akka framework。
这两个都是很棒的图书馆,我已经使用过这两个图书馆并且从他们的学习曲线中获得了乐趣。我还建议调查Play Framework,它们支持akka框架,构建反应式网络应用程序是他们的主要关注点。如果您有兴趣学习生产框架的一些很酷的方面,我强烈建议学习和实施Dropwizard(谷歌应用程序引擎不支持它,但你从它获得的收益肯定超过了con)。
如果您有任何疑问,请与我们联系!