标签: python python-2.7 python-3.x
我读到了索引列表的地方,例如l [3]是原子操作。由于全局解释器锁定而实现了原子性。
答案 0 :(得分:1)
是的,索引应该是原子的,只要你在原生列表上做,而不是有人可以重定向的__getitem__;但是,这是一个实现细节,你不能依赖它。
__getitem__
不,这不仅仅是因为GIL,而是因为只允许在单个解释器指令之间切换线程,并且索引是这样的单个指令,但仅限于CPython。
外卖:不要依赖高级脚本语言(如python )中的原子性;如果你需要障碍,那么使用信号量或明确的原子数据类型。