gpt4 book ai didi

python - Python变量赋值是原子的吗?

转载 作者:IT老高 更新时间:2023-10-28 22:19:03 29 4
gpt4 key购买 nike

假设我正在使用 signal 处理程序来处理间隔计时器。

def _aHandler(signum, _):
global SomeGlobalVariable
SomeGlobalVariable=True

我可以设置 SomeGlobalVariable 而不必担心,在不太可能的情况下,在设置 SomeGlobalVariable(即 Python VM 正在执行字节码来设置变量)时,分配信号处理程序内会破坏什么? (即元稳定状态)

更新:我对在处理程序之外进行“复合分配”的情况特别感兴趣。

(也许我想的太“低级”了,这一切都在 Python 中处理了......来自嵌入式系统背景,我不时有这种冲动)

最佳答案

对简单变量的简单赋值是“原子的”AKA threadsafe(复合赋值,如 += 或对项目或对象属性的赋值不需要,但您的示例是对简单变量的简单赋值,尽管是全局的、可变的,因此是安全的)。

关于python - Python变量赋值是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2291069/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com