volatile的原子性问题
volatile为什么不能保证原子性有大佬能解释下吗,看了很多网上的博客都说因为i++这种操作不是原子性的,可是就算他不是原子性的,其中一个线程更新主存中的值的时候,其他线程缓存的值不是会失效吗。还有人说是因为其他线程读取过了就不会读取了,这就更说不通了,如果读取过不会读取了,那可见性是干嘛的?就好比三个线程同时读取了一个值,其中一个线程修改了这个值写回内存,另外两个线程肯定会重新读取这个值啊,怎么可能读取过不会读取。把我整懵了
相关推荐
水瓶子010209:知识太多太多太多太多太多了