synchonized的问题
来源:13-5 volatile作用

abel_星123
2019-09-17
1,锁住getClass()
老师我们的项目中有类似于这样的代码,这个锁的作用和我们自己定义一个锁的区别是什么?
private stattic List<String>list = new ArrayList<>();
public void test(){
sychronized(list.getClass()){
list.add(xx)
}
2.锁住List:这样的锁与我们自己定义的一个锁的区别?以及和1中的区别?
private List<String> list = new LinkedList<>();
sychronized(list){
list.add
}
写回答
1回答
-
悟空
2019-09-17
锁住getClass可以锁住类对象,全局唯一。
但是锁list并不唯一,每个实例都有这个list,所以要注意线程安全。
这实际上就是对象锁和类锁的区别,在我的免费课有详细讲解,你可以看下:
http://www.imooc.com/learn/1086
022019-09-17
相似问题