概述
为了清楚起见,我从理论的角度提问.没有同步,我永远不会编写线程代码.
每sys.getcheckinterval()
字节代码释放一次锁,此时可以进行线程切换.这意味着对于Python代码,仍然可以进行线程切换,但只能在字节代码指令之间进行.任何依赖线程安全的代码都需要考虑到这一点.可以在一个字节码中完成的操作可以是线程安全的,其他一切都不是.
即使是单字节代码指令也可以触发其他Python代码;例如,line对象[index]可以在自定义类上触发__getitem__调用,在Python中实现.因此,单个BINARY_SUBSCR操作码不一定是线程安全的,具体取决于对象类型.
总结
以上是编程之家为你收集整理的有GIL时,你可以在Python中竞争条件吗?全部内容,希望文章能够帮你解决有GIL时,你可以在Python中竞争条件吗?所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧