public synchronized int getCountOne() {
return count++;
}
就像上面的代码在方法上同步在功能上等同于在synchronized (this) block
方法体周围有一个。对象“this”不会被锁定,而是对象“this”被用作对象,mutex
并且主体被阻止与其他也在“this”上同步的代码部分同时执行。
基于类似的理由,mutex
当我们获得类级别的锁时使用什么。就像我们有一个函数一样
public static synchronized int getCountTwo() {
return count++;
}
显然两个线程可以同时获取getCountOne(object level lock)和getCountTwo(class level lock)的锁。所以 getCountOne 类似于
public int getCountOne() {
synchronized(this) {
return count++;
}
}
有没有相当于 getCountTwo 的?如果没有,使用什么标准来获得类级别的锁?