Java之多线程内存可见性_3(synchronized和volatile比较)
2015-12-17 14:30
471 查看
synchronized和volatile比较
1.volatile不需要加锁,比synchronized更轻量级,不会阻塞线程
2.从内存可见性角度,volatile读相当于加锁,volatile写相当于解锁
3.synchronized技能保证可见性,又能保证原子性,而volatile只能保证可见性,无法保证原子性
注:volatile比synchronized执行效率更高,能保证线程安全的情况下尽可能使用volatil
1.volatile不需要加锁,比synchronized更轻量级,不会阻塞线程
2.从内存可见性角度,volatile读相当于加锁,volatile写相当于解锁
3.synchronized技能保证可见性,又能保证原子性,而volatile只能保证可见性,无法保证原子性
注:volatile比synchronized执行效率更高,能保证线程安全的情况下尽可能使用volatil
相关文章推荐
- 基本排序_冒泡排序_Java实现
- java统计字符串中指定元素出现次数方法
- spring问题排查-调低日志等级
- struts学习笔记(四)
- java资料——线程(转)
- Java将数据库数据导入EXCEL
- Maven Missing artifact jdk.tools:jdk.tools:jar:1.7 解决办法
- springMVC对于controller处理方法返回值的可选类型
- Java 反射
- Java算法---坐标移动
- java中数据持久层查询操作
- JAVA面向对象的思想
- Java之多线程内存可见性_2(volatile不能保证原子性)
- Spring mvc+hibernate+freemarker(实战)
- Java关键字
- eclipse中安装Kotlin插件后的问题
- spring对javamail的封装使用
- java swing设置背景颜色的问题
- Java 定时任务Timer
- java环境配置