Flask の Hello World デモは次のとおりです。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
これを次のように変更するとどうなりますか。
from flask import Flask
app = Flask(__name__)
a = 1
b = 2
c = 3
@app.route("/")
def hello():
a += 1
b += a
c += b
return "Hello World!"
if __name__ == "__main__":
app.run()
WSGI アプリケーションには複数のスレッドがある可能性があることを理解しています。hello
関数が複数のスレッドで同時に実行される可能性があり、競合状態が発生します。これは正しいです?上記のコードがスレッド セーフでない場合、スレッド セーフにするにはどうすればよいですか?
グローバルを回避することは可能な解決策ですが、常にグローバルを回避できますか? Python オブジェクト キャッシュのようなものが必要な場合はどうすればよいですか?