没有新消息
更多内容
0 条评论
问题来自于
林先生
#Java面试题库#请讲一讲synchronized和volatile区别
14064
阅读
2
回答
@2024 职Q 智联招聘
合作商务邮箱:sbyh@zhaopin.com.cn
友情链接
HR圈内招聘/ 同道问答/ 人资知识社区
51社保/ X职场/ HR Bar/ 中人网/ 研招网
京ICP备17067871号 合字B2-20210134
京公网安备 11010502030147号
人力资源许可证:1101052003273号
网上有害信息举报专区
违法不良信息举报电话:400-885-9898
关爱未成年举报热线:400-885-9898-7
朝阳区人力资源与社会保障局 监督电话: 57596212,65090445
#Java面试题库#请讲一讲synchronized和volatile区别
主要区别在于s满足可见性和原子性吧,但是v仅仅是满足了可见性。 两者在对可见性的实现上也有不同,v的可见性主要是在多个线程操作同一个公共内存中的数据时,能够做到相互通知:嘿,这个数据被我改了,你重新取一下!而s可见性就比较霸道,他直接把这个数据上锁了,别的线程也没法访问,等他自个玩舒服了,把数据也还回去了,才让另外的线程进来,这时候另外的线程拿数据就是被上一个线程玩完的数据,这样也达到了一个可见性 还有一个区别就是,v相对于s来说更加轻量。 (以上说法个人拙见,如有错误,还望指正)