为了账号安全,请及时绑定邮箱和手机立即绑定
讲的很详细,很到位。 适合入门学习。老师很棒
为什么不用if 而用while呢?

最新回答 / 搬代码的程序猿
不是线程安全了,因为调用的那个方法没有被修饰,其本身是可以被多个线程同时调用的

最新回答 / weixin_慕无忌7033199
非同步方法,可以多个线程同时进入,这样就造成了非线程安全的情况。即使是同步方法内调用非同步方法,依然没有改变这个特性。整体来看,是非线程安全的。就比如你本来是人类(线程安全的方程),但是被吸血鬼咬了一口(进入了非线程安全的方程),然后你变异出来了以后,你就是非线程安全的了。简而言之,一个线程只要进任意一个非线程安全的方法,你就再也不是线程安全的程序了。
请问老师,synchronized关键字可以禁止CPU对synchronized修饰的代码进行重排序吗?
举个例子:
synchronized (obj1) {
if (obj2 == null) {
obj2 = new Class();
}
}

请问老师,synchronized可以禁止CPU对new Class()里面的指令进行重排序吗?

谢谢老师
出异常的线程正常运行结束了,就是正常释放锁,不是异常释放,throw 一个RuntimeException才对
第一次听悟空老师的课,爱上了

已采纳回答 / 末年的极光
monitor中由一个owner有存关于当前被哪个thread拥有的标记,通过这个标记,当再次执行新的方法时,获取monitor时,就可以判断两个是否为同一个线程,这样就可以判断是否重入了

最新回答 / Barea
第二个线程可以直接调用那个非同步方法, 如果此时第一个线程正在通过同步方法调用那个非同步方法, 那么此时两个线程都在调用非同步方法, 所以线程不安全了
首页上一页1234567下一页尾页
课程须知
1、基本的Java语法知识。 2、最基本的线程知识,比如在Java中如何创建线程。
老师告诉你能学到什么?
1、完全学会高并发中synchronized这个最灵魂级解决方案以及一线互联网资深工程师的开发、调试经验,提高填‘坑’能力。 2、synchronized底层原理源码深度解析、适用场景、使用和调试。 3、高并发面试中synchronized的高频经典考察点,让你在面试中和面试官聊到停不下来。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消