Демо-версия hello world для Flask:
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?