关于GIL,哪些操作不是原子操作?

我了解从Python 3.2开始,GIL的工作时间为5毫秒,而不是切换线程之前的100个字节码。但是,如果该操作需要锁定(需要是原子的),则它将等待5毫秒以上。

我想知道关于GIL(例如分配),非原子(例如增量)或释放GIL(例如阅读)的原子操作实例。这将帮助程序员知道何时手动管理锁。

示例:FOR / WHILE循环属于哪一类?

因此,基于上面的列表,程序员必须实现自己的锁,以确保-例如-非原子操作(增量)不会弄乱多线程程序中的全局变量值,因为GIL仅锁定原子操作。

windy1986 回答:关于GIL,哪些操作不是原子操作?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3168591.html

大家都在问