首页 > 代码库 > volatile用法
volatile用法
1.volatile 主要是 其 "可见性",在java内存模型中,变量都是放在主内存中,每条线程里面有自己的工作内存,当一个变量被volatile 修饰时候,其他的线程会得到该变量的最新值。但是volatile并不能保证该变量的原子性。
2.在什么时候用volatile?指令重排序优化,普通的变量仅仅保证在该方法的执行过程中所有依赖赋值的结果的地方都能获得正确结果,而不能保证变量赋值的顺序与程序代码中的执行顺序一致。也就是java内存模型描述的"线程内表现为串行的语义"。
3.volatile 和锁的比较。volatile 的性能优于锁(使用synchronizde或者java.util.concurrent包),总开销低于锁(读的性能)。
volatile用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。