烧瓶中的全局变量是否安全?如何在请求之间共享数据?在我的应用程序中,通过发出请求来更改公共对象的状态,响应取决于状态。class SomeObj():
def __init__(self, param):
self.param = param def query(self):
self.param += 1
return self.param
global_obj = SomeObj(0)@app.route('/')def home():
flash(global_obj.query())
render_template('index.html')如果我在我的开发服务器上运行它,我希望得到1,2,3等等。如果同时向100个不同的客户提出请求,可能出现问题吗?预期的结果是100个不同的客户端每个都看到1到100之间的唯一数字。或者会发生这样的事情:客户端1查询。self.param增加1。在可以执行return语句之前,线程切换到客户端2. self.param再次递增。线程切换回客户端1,然后客户端返回数字2,比如说。现在线程移动到客户端2并返回他/她的数字3。由于只有两个客户端,预期结果为1和2,而不是2和3.跳过了一个数字。当我扩展我的应用程序时,这会发生吗?我应该看一下全局变量的替代方案?
添加回答
举报
0/150
提交
取消