synchronized和volatile区别

 我来答
爱探析社会的小童
高能答主

2022-10-14 · 用不同的眼光看待社会中的点点滴滴
爱探析社会的小童
采纳数:410 获赞数:9517

向TA提问 私信TA
展开全部

1、关键字不同

volatile 关键字是线程同步的轻量级实现,所以 volatile 性能肯定比synchronized关键字要好 。但是 volatile 关键字只能用于变量而 synchronized 关键字可以修饰方法以及代码块 。

2、修饰功能不同

volatile只能修饰变量,synchronized可以修饰方法、代码块。

3、线程阻塞情况不同

volatile不会造成线程的阻塞;synchronized可能会造成线程的阻塞。

4、原子性不同

volatile保证数据的可见性,但不能保证原子性;而synchronized可以保证原子性,也可以间接保证可见性,因为它会将私有内存中和公共内存中的数据做同步。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式