看起来 threading.local 更直接、更健壮。
问问题
730 次
2 回答
5
StackedObjectProxy 在它下面使用了一个 threading.local。Pylons 不使用普通的 threading.locals 有两个原因:
1)它会是一个比代理更具侵入性的 API。例如 request().POST.get('file') 与 request.POST.get('file')
2) StackedObjectProxys 不仅是线程安全的,而且是“请求安全的”——这意味着 Pylons 应用程序嵌入另一个应用程序并引用相同的代理对象是安全的。对这种安全性的需求很少见,但由于 WSGI 应用程序调用其他 WSGI 应用程序 + 使用全局对象是多么容易,这肯定是一种可能性
有关更多信息,请参阅paste.registry 文档
于 2009-11-11T19:12:42.347 回答
1
因为在 Python 2.4 中threading.local
是新的。如果可以的话,使用 threading.local。StackedObjectProxy
于 2009-11-06T10:53:49.960 回答