2

threading.local はより簡単で堅牢なようです。

4

2 に答える 2

5

StackedObjectProxy は、その下に threading.local を使用します。Pylons は 2 つの理由からプレーンな threading.locals を使用しません:

1) プロキシよりも侵入的な API になります。例 request().POST.get('file') vs request.POST.get('file')

2) StackedObjectProxy はスレッドセーフであるだけでなく、「リクエストセーフ」でもあります。つまり、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 に答える