Các xin chào bản demo thế giới cho Flask là:Làm việc với một singleton toàn cầu trong Flask (WSGI), tôi có phải lo lắng về điều kiện chủng tộc không?
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
nếu tôi sửa đổi Điều này như sau:
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()
Tôi hiểu ứng dụng WSGI có thể có nhiều chủ đề. Chức năng hello
có thể chạy trên nhiều luồng cùng một lúc và sau đó chúng tôi sẽ có điều kiện chạy đua. Điều này có đúng không? Nếu mã trên không phải là luồng an toàn, tôi có thể làm gì để làm cho chuỗi đó an toàn?
Tránh globals là một giải pháp có thể, nhưng bạn luôn có thể tránh globals? Nếu tôi muốn một cái gì đó giống như một bộ nhớ cache đối tượng python?
dụ của bạn (cắt và dán chính xác) trả về một 500 đối với tôi, bởi vì một được tham chiếu trước khi chuyển nhượng. – jeremyjjbrown
Điều này không thực sự trả lời câu hỏi đã nêu. Bạn có _need_ để khóa? Dưới những điều kiện nào? Đây có phải là thông dịch viên duy nhất không có GIL không? – Basic