初学者真的不理解
class X {
// 修饰非静态方法
synchronized void foo() {
// 临界区
}
// 修饰静态方法
synchronized static void bar() {
// 临界区
}
// 修饰代码块
Object obj = new Object();
void baz() {
synchronized(obj) {
// 临界区
}
}
}
我们都知道,第一种锁的是方法
第二种所的是类
第三种所的是对象
这三种锁它们的区别到底是什么呢?锁对象和锁类两个作用有啥区别啊,该怎么理解?