【发布时间】:2013-06-18 12:29:07
【问题描述】:
我有一个关于 python 锁和线程的问题,我意识到锁用于防止变量被另一个线程覆盖,使用锁来解决这个问题是否正常,因为这意味着你只能运行一个线程同时,这也意味着为每个可能被覆盖的变量创建获取/释放锁,这在我的项目中遇到了很多!
人们是如何做到这一点的?将变量包装在线程安全列表中,或者根据线程名称创建唯一变量?或者每个人都在使用锁获取和释放来乱扔代码?
【问题讨论】:
-
奇怪的是,这是作为副本关闭的,因为提到的问题根本没有引用 python。是的,大多数编程语言都有许多共同的考虑因素,但有些语言比其他语言对线程更友好,并且每种语言都有自己的怪癖(例如,@nosklo 告诉我们的 Python 的 GIL)。因此,专注于 python 的答案很有价值。
-
上述问题中没有任何内容是特定于 python 的。此外,这个问题很宽泛而且提出得不好,所以关闭的原因几乎是无关紧要的。
标签: python python-multithreading locks