[求助]关于threading模块中local类的用法

2013-02-24 18:12:14 +08:00
 polythene
https://gist.github.com/polyrabbit/5023268
一个threading.local的实例相当于获得了当前线程的上下文环境,我先设置一个值再读取它为什么就读不到了呢??

如果改成这样就可以读到:
https://gist.github.com/polyrabbit/5023291
难道在同一线程是两次调用threading.local返回的环境是不一样的?求解。。

P.S. 其实我就是想将一个状态量在两个模块间传递,但又不想用传参(参数太多了)和加锁(太麻烦)的方法,不知道用thread.local该怎么做

PP.S 怎么嵌入gist代码呀??
3115 次点击
所在节点    Python
1 条回复
lookhi
2013-02-24 20:14:08 +08:00
看_threading_local 这个module,python版本的local.
每次local()都是不一样的,因此local()必须放在global的层次上。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/61226

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX