什么是可见性问题? |
您所在的位置:网站首页 › 什么叫做可见性可见性的一般规则是什么 › 什么是可见性问题? |
[Q&A] 什么是可见性问题?
多核时代,每颗 CPU 都有自己的缓存,且一个CPU缓存中的变量对另外一个CPU是不可见的。在并行程序中,如果一个线程修改了某一个全局变量,那么其他线程未必可以马上知道这个改动。 如下图中,两个线程在执行时,CPU1和CPU2分别将内存中的变量缓存到CPU的缓存中,如果CPU1的线程修改了变量V,那么CPU2的线程可能无法意识到这个改动,依然会读取CPU2中cache或者寄存器中的值,这就产生了可见性问题。 [Ref] 并发编程 原子性 可见性 有序性 [Q&A] JMM的内存可见性保证Further Reading :JMM的内存可见性保证 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |