您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

等效于Python中的Java volatile

等效于Python中的Java volatile

据我所知,当我们在声明一个变量时使用volatile时,对该变量值的任何更改将对同时运行的所有线程可见。

volatile比这更细微的差别。volatile确保Java 在主存中 存储和更新变量值。如果不使用volatile,则JVM可以自由地将值存储在cpu缓存中,这具有更新值的 副作用 ,该更新对于在不同cpu内核上运行的不同线程是不可见的(在同一内核上同时运行的线程 看到值)。

Python从来没有这样做。Python将 所有对象 存储在堆中的主内存中。此外,由于Python解释器循环如何使用锁定(GIL),因此一次仅一个线程将主动运行Python代码。永远不可能有不同的线程在不同的cpu上运行Python解释器循环。

因此,您不需要volatile在Python中使用,就没有这样的概念,也无需担心。

python 2022/1/1 18:35:46 有232人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶