【发布时间】:2012-02-10 21:10:11
【问题描述】:
我目前正在将我的 GAE 应用程序从 Python 2.5 运行时转换到启用“ThreadSafe”的 Python 2.7 运行时。
目前我的数据访问方法如下所示:
@staticmethod
def GetByPermaLinkId(permaLinkId):
result = memcache.get("entry-by-permalink-id:" + permaLinkId)
if result is None:
result = db.get(permaLinkId)
memcache.set("entry-by-permalink-id:" + permaLinkId, result)
return result
所以我想我有两个问题。
我的数据访问方法完全荒谬吗?
我的数据访问方法可以在“ThreadSafe”应用程序中使用吗?
我是 App Engine 和 Python 开发的超级新手,非常感谢您提供反馈。
谢谢!
【问题讨论】:
-
识别可能不是线程安全的东西的简单方法是寻找“可变共享状态”。也就是说,它必须通过代码进行修改(此处为 true)和共享(不正确,因为您定义的变量仅适用于它们被调用的函数)。
-
你好。我在 devcon5.blogspot.com 上发布了 GAE 的线程安全分析(尽管是针对 GAE/J),非常感谢我应该涵盖的任何 cmets 或其他问题。谢谢。
标签: python multithreading google-app-engine thread-safety