1、保证可见性性,所有线程看到的volatile变量均一致
实现:volatile变量写操作时,会增加一行带lock的汇编,lock能做到
a)处理该线程的CPU缓存行(工作内存)写回主内存
b)其他CPU含有该内存地址的缓存数据无效(缓存一致性,各CPU嗅探总线)
追加字节,将变量填充到64个字节,使变量独占一个缓存行(处理器的宽度)
2、读写具有原子性
1、保证可见性性,所有线程看到的volatile变量均一致
实现:volatile变量写操作时,会增加一行带lock的汇编,lock能做到
a)处理该线程的CPU缓存行(工作内存)写回主内存
b)其他CPU含有该内存地址的缓存数据无效(缓存一致性,各CPU嗅探总线)
追加字节,将变量填充到64个字节,使变量独占一个缓存行(处理器的宽度)
2、读写具有原子性
本文标题:volatile轻量级锁
本文链接:https://www.haomeiwen.com/subject/suywottx.html
网友评论