发动态

没有新消息

更多内容

#Java面试题库#请讲一讲synchronized和volatile区别

章先生

主要区别在于s满足可见性和原子性吧,但是v仅仅是满足了可见性。 两者在对可见性的实现上也有不同,v的可见性主要是在多个线程操作同一个公共内存中的数据时,能够做到相互通知:嘿,这个数据被我改了,你重新取一下!而s可见性就比较霸道,他直接把这个数据上锁了,别的线程也没法访问,等他自个玩舒服了,把数据也还回去了,才让另外的线程进来,这时候另外的线程拿数据就是被上一个线程玩完的数据,这样也达到了一个可见性 还有一个区别就是,v相对于s来说更加轻量。 (以上说法个人拙见,如有错误,还望指正)

20 赞+1
0
评论

0 条评论

说的太通俗易懂了
22-11-29
赞0
回复

热门职位推荐
热门公司推荐

@2026 职Q 智联招聘

《职Q社区规范》 《资质公示》

合作商务邮箱:sbyh@zhaopin.com.cn

京ICP备17067871号 合字B2-20210134

京公网安备 11010502030147号

人力资源许可证:1101052003273号

网上有害信息举报专区

违法不良信息举报电话:400-885-9898

关爱未成年举报热线:400-885-9898-3

朝阳区人力资源与社会保障局 监督电话: 57596212,65090445