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

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

难度中级
时长57分
学习人数
综合评分9.63
181人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.4 逻辑清晰
我发现这个老师讲的是真的好,解释了原理,比较好理解
赶脚在进程这一块学习中异常那一块知识好重要,要不然出现异常程序就不走了,
赞。。。。。。。。。。。。。。。。
不加volatile,执行两次读操作,加了只需要一次读操作,相当于具有原子性了。
希望老师多讲一些理论的东西,理论的东西才是精髓
可以,很清楚,没学过
挺好的,赞一个
synchronized \ volatile 实现可见性
指令重排序还是第一次听说,学习了又
讲的很透彻,很好。有深度,某内毕业生路过,点赞!
大神讲的很到位,点赞
若变量被volatile修饰,当在对该变量进行修改时,JVM会多执行一个lock操作,该操作是对寄存器的值加0,主要作用是将本线程(CPU)的Cache写入主内存,并引起其他线程的cache的无效,相当于对Cashe的变量做了一次store和write操作(参见JVM主内存与工作内存的8种交互方式以及相应的8种约束),从而导致volatile的可见性。synchronized的原子性是利用了JVM内存交互的lock和unlock及其对应约束条件来做到的
不错,6666.
课程须知
学习本课程前,你需要熟练掌握Java的基础语法,熟悉Java多线程的基础知识,以及synchronized实现线程同步的方法。
老师告诉你能学到什么?
1、内存可见性 2、指令重排序 3、as-if-serial语义 4、synchronized实现可见性 5、volatile实现可见性

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消