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

Java高并发之魂:synchronized深度解析

难度入门
时长 2小时50分
学习人数
综合评分9.53
114人评价 查看评价
9.7 内容实用
9.3 简洁易懂
9.6 逻辑清晰
这几个简单的实例简单粗暴有效,让我这种菜鸟醍醐灌顶

最新回答 / 慕莱坞8286419
我理解应该是会失效,因为类锁是对你创建线程时传入的类加锁,如果你两次传入的是不同的类,就是给不同的类加锁,没有竞争资源,但是并不影响不同的类执行自己的代码逻辑,就是说会同时并行你创建线程时传入的类的处理逻辑,如果创建线程时都不传入当前类,当前类的逻辑不会执行,也就无法验证当前类的锁是否有效了,因为没有线程要获取当前类的资源
那我是不是可以不使用创建thread对象时需要传入的类的对象的class对象。可以随便哪个类的class对象都可以呢?

最新回答 / 慕侠7907043
搞错了不会有问题因为多线程只有静态变量和成员变量是共享的。局部变量互不影响。看到老师只用一个对象调用run方法所以不知道局部变量会不会有影响。百度了 不会有影响所以j++没有并发问题。
讲的挺详细的,很不错!

最新回答 / 梦阳西
是的 这算是三个线程在运行不干扰 cpu分配的资源多自然先运行完
缺一段啊?无法知道是否成功的获得了锁,还没讲啊
源码:https://github.com/ThirdPrince/synchronized-practice
感觉都没有讲清楚

最新回答 / 慕侠7907043
把对象放main里面线程也不是正常的啊?还是有并发问题啊。而且就算是创建两个ShowUnSafe对象线程也不会正常。因为出问题的是静态变量i。
能否提供源码

最新回答 / 慕莱坞8286419
盲猜不安全,可以试一下,应该是同步执行,执行非同步方法不需要获取锁直接执行,执行同步方法才需要获取锁

最赞回答 / 张好郎
课程中for循环100000, 两个线程同时执行不就是这种情况吗

讲师回答 / 悟空
同学,这个课程没有提供源代码,不过课程的代码量很少,你可以自己敲一下哈,不会花费太多时间,也可以同时巩固一下知识。
首页上一页1234567下一页尾页
课程须知
1、基本的Java语法知识。 2、最基本的线程知识,比如在Java中如何创建线程。
老师告诉你能学到什么?
1、完全学会高并发中synchronized这个最灵魂级解决方案以及一线互联网资深工程师的开发、调试经验,提高填‘坑’能力。 2、synchronized底层原理源码深度解析、适用场景、使用和调试。 3、高并发面试中synchronized的高频经典考察点,让你在面试中和面试官聊到停不下来。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消