Volatile和synchronized

多线程为什么会发生问题:     如下图所示,不同线程运行在不同的cpu或cpu核心中,在cpu和主存之间,还存在一层缓存,因此cpu在读取一个变量时,会先读取到缓存,再进入cpu的寄存器,写入时也是如此,会先进入缓存,再写入主存。这样就会导致不同线程之间的冲突了。   两者在内存中的表现 Volatile:     被Volatile修饰的变量,会越过缓存,cpu的读写操作直接刷到主存(通过me
相关文章
相关标签/搜索