为了账号安全,请及时绑定邮箱和手机立即绑定

烧瓶中的全局变量是否安全?如何在请求之间共享数据?

烧瓶中的全局变量是否安全?如何在请求之间共享数据?

温温酱 2019-05-25 16:52:58
烧瓶中的全局变量是否安全?如何在请求之间共享数据?在我的应用程序中,通过发出请求来更改公共对象的状态,响应取决于状态。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.跳过了一个数字。当我扩展我的应用程序时,这会发生吗?我应该看一下全局变量的替代方案?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 493 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信