Flask拾遗笔记之上下文
threading.local() 通过threading.local()可以创建一个线程安全的全局变量,即在一线程中的修改不会影响另一线程。结合代码说明: 通过修改代码验证“名同实不同”: 所以threading.local()是通过创建“名同实不同”的“全局变量”。 LocalProxy 和 LocalStack 这两个都是基于 werkzeug.local.Local实现。 werkzeug.local.Local和threading.local只有两个不同,一个是前者优先使用Greenlet的ID,其次是线程ID;二是前者实现了一个析构方法(__release_local__)来析构(删除)创建的werkzeug.local.Local对象。 总的来说,前者是web升级版的threading.local. 那么顾名思义,LocalPro