Python 整数是线程安全的吗?我无法从 Google 找到明确的答案。
最佳答案
是的,它们是不可变的,就像字符串一样。代码 x += 1
实际上创建了一个全新的整数对象并将其分配给 x
。
如果不清楚的话,不可变的事物自动是线程安全的,因为两个线程无法同时尝试修改同一事物。您看,它们无法修改,因为它们是不可变的。
来自解释器的示例:
>>> x = 2**123
>>> x
10633823966279326983230456482242756608
>>> id(x)
139652080199552
>>> a = id(x)
>>> x+=1
>>> id(x)
139652085519488
>>> id(x) == a
False
关于python - Python 整数是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6320107/