课程
/后端开发
/Java
/Java高并发之魂:synchronized深度解析
这个关键词可以用到类上吗
2019-02-19
源自:Java高并发之魂:synchronized深度解析 2-1
正在回答
当然不行了,这个你打开IDE试一下不就知道了嘛?
synchronized的两种用法:
1.对象锁
方法锁(修饰方法,默认锁对象为this当前实例对象)
同步代码块锁(修饰代码块,自己指定锁对象)
2.类锁
修饰静态的方法或指定锁为Class对象(同步代码块使用Class对象做锁)
悟空
举报
从0开始彻底学会高并发场景下不得不会的synchronized
1 回答用Suspend:Thread进行调试
1 回答在分布式应用中,synchronized是不是已经无用武之地了
2 回答同步方法中,调用了非同步方法,此时对于非同步方法来说,是否是线程安全的,这个非同步方法是否也等于拥有了锁??
1 回答那我是不是可以不使用创建thread对象时需要传入的类的对象的class对象。可以随便哪个类的class对象都可以呢?因为在学习对象锁的视频中老师创建的锁对象是随便的Object对象所以类锁上应该也可以随便哪个类的clas对象。还是说只能是实现Runnable接口的类的父类的对象啊?还有实现runnable接口的类对象不同类锁会失效,这种是只有this修饰才会 这样吗?对象锁中自己创建的锁对象只有一个,就算创建两个线程的对象不同但是锁对象只有一个还是只有一个可以持有锁。也就是对象锁不会失效。