`
Lucky_BW
  • 浏览: 808 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
文章列表

浅谈Volatile

    博客分类:
  • Java
我们用一段简单的代码来开头 public int i = 0; public void increase(){ i++; } //getter     以上这段代码在多线程高并发的状态下能否保证所取得的i是所期待的值,答案肯定是不能的,因为对JAVA来说数据的操作是非原子性的。还有的就是部份人认为给变量i加上volatile关键字就能保证了数据操作的原子性,这显然是错误的。要记住volatile关键字只保证其可见性,也就是说当某线程修改了i的值,修改后的值对其它线程来说是立即可见的。下面我们分析通过increase()方法的字节码来解释。 public void ...
Global site tag (gtag.js) - Google Analytics