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

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

难度中级
时长57分
学习人数
综合评分9.63
181人评价 查看评价
9.9 内容实用
9.6 简洁易懂
9.4 逻辑清晰

最新回答 / pythonxx
单线程并且有数据依赖关系
线程互斥代码的过程
1.获得互斥锁、
2.清空工作内存
3.从主内存中获得副本
4.执行代码
5.将更改后的共享变量值刷新到主内存中去
6.释放互斥锁
我竟然秀逗得做错了,衰
亲测不行 并不能保证其原子性 why
老师讲到我想知道的东西了
讲的很通俗易懂,很棒!!!
下课了,新人领辣条。
卧槽,这视频卡的不像话。。。
Thread.activeCount() 一直返回2,求解
C,
当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将会被阻塞。
讲的蛮好的
挺好的,手动点赞

最新回答 / 慕斯0128424
这么跟你解释:一行java代码被cpu执行的时候执行的是若干条cpu指令,synchronized对应到cpu执行若干条指令,但是volatile也对应若干条指令,相同的是他们对应的指令有一些相同的,即有重叠,但是又有差异,于是功能有相同也有差异。他们的使用场景也是如此。你现在不适合去理解深沉原理,先学会用,用对场景。
匿名内部类访问外部类局部变量必须为final属性
不是说volatile不保证原子性吗?为什么对于64位类型的变量用volatile修饰?
JAVA 规定的。JAVA 说这么写 就给你的64位 保证原子性,就这么任性,怎么地。
课程须知
学习本课程前,你需要熟练掌握Java的基础语法,熟悉Java多线程的基础知识,以及synchronized实现线程同步的方法。
老师告诉你能学到什么?
1、内存可见性 2、指令重排序 3、as-if-serial语义 4、synchronized实现可见性 5、volatile实现可见性

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消