volatile到底是什么?

1.是什么?

        volatile是Java中的关键字,用来修饰被不同线程访问和修改的变量。

        volatile是java虚拟机提供的轻量级的同步机制。

2.作用?

  1)线程见的可见性

        保证被该关键字修饰的变量的修改,在线程间的可见性。

        eg:线程A修改该值,会强制将这个新值刷回主内存,当线程B有该值的旧值缓存,

        会被强制失效过期,不允许再次使用,如果线程B再次读取该值,会从主内存

        重新加载新值到本地内存。

  2)禁止指令重排序

3.总结

        1.volatile主要作用是保证可见性和有序性

        2.不能保证操作的原子性,原子性的问题,需要依赖synchronizedReentrantLock

        等加锁机制来解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值