如果我在同一个类中有 2 个同步方法,但每个都访问不同的变量,那么 2 个线程可以同时访问这 2 个方法吗?锁定是否发生在对象上,或者它是否与同步方法中的变量一样具体?
例子:
class X {
private int a;
private int b;
public synchronized void addA(){
a++;
}
public synchronized void addB(){
b++;
}
}
x.addA(
2个线程可以同时访问同一个X类实例x.addB()
吗?