美文网首页
18. volatile关键字

18. volatile关键字

作者: TheMrBigHead | 来源:发表于2018-12-11 11:16 被阅读0次

volatile关键字表示被修饰的变量容易变化

volatile关键字修饰的变量读、写操作都会从高速缓存或主内存中读取,来获取变量的相对新值

volatile关键字不会引起上下文切换,故也被成为轻量级锁

原理

读操作 写操作

volatile的作用

  • 保障可见性
  • 保障有序性
  • 保障写操作的原子性
  • 保障long/double型变量的写操作的原子性

不表示赋值操作具有原子性

image.png

volatile写操作

写操作 image.png image.png

volatile读操作

读操作 image.png image.png

volatile禁止重排序总结

  • 写volatile变量操作与该操作之前的任何读、写操作不会被重排序
  • 读volatile变量操作与该操作之后的任何读、写操作不会被重排序
image.png

volatile变量的开销

读、写都不会导致上下文切换,所以开销比较小

image.png

volatile应用场景

image.png image.png image.png image.png image.png

相关文章

网友评论

      本文标题:18. volatile关键字

      本文链接:https://www.haomeiwen.com/subject/mzedhqtx.html