是轻量级的synchronized,处理器为了提高处理速度,不直接通过内存通讯,而是将内存的数据读取到高速缓存再进行操作。当对Volatile变量进行写操作时,jvm会向处理器发送Lock前缀的指令,将该变量从高速缓存写回到内存中。为保证各处理器的高速缓存一致,每个多线程通过嗅探在总线上传播的数据检查自己高速缓存中的数据是否过期,如果过期当要写操作时会强制从内存中更新。
参考:http://ifeve.com/volatile/
http://blog.youkuaiyun.com/jirongzi_cs2011/article/details/29935005
本文深入解析了Volatile关键字的工作机制,阐述了它如何利用处理器的高速缓存来保证多线程环境下的数据一致性。当对Volatile变量进行写操作时,JVM会向处理器发送特殊指令确保数据被写回内存,并维持不同处理器间缓存的一致性。
2113

被折叠的 条评论
为什么被折叠?



