什么是Python中的原子操作?

时间:2019-04-10 01:59:34

标签: python python-multithreading

我是Python的初学者。现在,我阅读了有关线程的知识,并且有一些疑问。

IMO原子操作(AO)=最简单的操作。 dev中最简单的操作是a = 1。但是我确实读过文章(http://preshing.com/20130618/atomic-vs-non-atomic-operations/),但给人的印象是它不是最简单的操作\ AO。作者告诉我们,该操作分为两个操作,而该操作不是AO。该操作是AO,因此必须具有另一种类型。但是我必须说他讲过C / C ++和字节码,我认为在Python中也是一样。我如何理解这取决于类型,甚至取决于编译器。但是Python是语言的动态类型。没有类型。

我决定向社区提出以下问题:

  1. 什么是Python中的原子操作?

  2. Python中的哪些操作是AO?

如果简单操作不简单,那么我不了解什么是原子操作。

1 个答案:

答案 0 :(得分:1)

What kinds of global value mutation are thread-safe?

下,Python文档的FAQ似乎对这个问题有很好的答案。

我希望您了解局部堆栈变量或特定于线程的私有变量(不会对线程安全造成问题)与全局变量或共享变量之间的区别。