为了账号安全,请及时绑定邮箱和手机立即绑定

细说Java多线程之内存可见性

难度中级
时长57分
学习人数
综合评分9.63
181人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.4 逻辑清晰
不可见的原因,给出了三种原因? 可见性的解释是:一个线程对共享变量的修改,能够及时被其他线程看到。那线程的交叉执行和重排序结合线程交叉执行,是你那个程序什么出现问题,而不是内存可不可见问题
没讲错,多副本其实想表达是工作内存即cpu缓存,是L1.L2
我用jdk1.8 不管怎么运行都是6
怎么理解“使其他工作线程的缓存无效?”,不是读了才有缓存,这个时候怎么继续i+1了
加了sync还是执行为0是因为线程的调度问题,线程不一定是按照书写顺序调度的,是由cpu决定的,所以第二个线程反而可能先执行。这个不属于交叉执行
比较基础的知识,讲的很不错
讲的非常棒,通俗易懂,点个关注
不错,讲的啥
讲的挺好的。第一次看和工作以后相关知识了解多了后,看的时候的收获也不一样了
非常赞通俗易懂的讲明白了
java内存可见性是理解线程不安全的重点,理解这点也就可以理解为啥会出现线程不安全的情况。
老师说的很好,谢谢老师!
加了synchronized还是会出现0的
首页上一页1234567下一页尾页
课程须知
学习本课程前,你需要熟练掌握Java的基础语法,熟悉Java多线程的基础知识,以及synchronized实现线程同步的方法。
老师告诉你能学到什么?
1、内存可见性 2、指令重排序 3、as-if-serial语义 4、synchronized实现可见性 5、volatile实现可见性

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消