我遇到了下面这个声称是线程安全的 Java 类的示例。谁能解释一下它如何是线程安全的?我可以清楚地看到,类中的最后一个方法没有受到任何读取器线程的并发访问的保护。或者,我在这里遗漏了什么?
public class Account {
private Lock lock = new ReentrantLock();
private int value = 0;
public void increment() {
lock.lock();
value++;
lock.unlock();
}
public void decrement() {
lock.lock();
value--;
lock.unlock();
}
public int getValue() {
return value;
}
}