我是Python的初学者。现在,我阅读了有关线程的知识,并且有一些疑问。
IMO原子操作(AO)=最简单的操作。 dev中最简单的操作是a = 1
。但是我确实读过文章(http://preshing.com/20130618/atomic-vs-non-atomic-operations/),但给人的印象是它不是最简单的操作\ AO。作者告诉我们,该操作分为两个操作,而该操作不是AO。该操作是AO,因此必须具有另一种类型。但是我必须说他讲过C / C ++和字节码,我认为在Python中也是一样。我如何理解这取决于类型,甚至取决于编译器。但是Python是语言的动态类型。没有类型。
我决定向社区提出以下问题:
什么是Python中的原子操作?
Python中的哪些操作是AO?
如果简单操作不简单,那么我不了解什么是原子操作。
答案 0 :(得分:1)
在What kinds of global value mutation are thread-safe?
下,Python文档的FAQ似乎对这个问题有很好的答案。我希望您了解局部堆栈变量或特定于线程的私有变量(不会对线程安全造成问题)与全局变量或共享变量之间的区别。