首页 > 解决方案 > 什么是 Python 中的原子操作?

问题描述

我是 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?

如果简单的操作不简单,那么我不明白什么是原子操作。

标签: pythonpython-multithreading

解决方案


Python 文档的常见问题解答似乎在什么样的全局值突变是线程安全的?

我希望您了解本地堆栈变量或特定线程私有的变量(不会出现线程安全问题)与全局或共享变量之间的区别。


推荐阅读