スレッドローカルを使用することで、自分自身のために作成する可能性のある深刻な影響があるかどうか疑問に思っています。Flask の場合、スレッド ローカルを使用していることに気付き、スレッドを考慮して構築されていないサーバーで問題が発生する可能性があることに言及しました。これは時代遅れの懸念ですか?私はDjangoでスレッドローカルをいくつか使用しています.Postgresを使用してUbuntu 10.04にUWSGIまたはGunicornの前にNGINXを配置しています(OSまたはDBはおそらく重要ではありませんが、明確にするためです)。心配する必要がありますか?
1525 次
1 に答える
0
スレッドローカルは、物事を行うための最も堅牢で安全な方法ではありません。たとえば、このメモを確認してください。[以下のグレンのコメントも参照してください]
大規模なグローバルな情報ポットにデータを入れ、それらのスレッド化されたローカルで保証されていないデータの一貫性を受け入れ、競合状態を避けるように注意するなどの考えで、きれいにコーディングした場合は、問題ないかもしれません。 .
しかし、それを念頭に置いても、スレッド化されたローカル変数の「魔法」は依然として存在するため、一体何が起こっているのか、いつスレッド化されたローカル変数が使用されるのかを明確に文書化することは、コードベースのあなた/将来の開発者に役立つかもしれません.
于 2010-11-05T07:57:54.650 に答える