class BankAccount { private double balance; private Lock lock; public BankAccount() { balance = 0; lock = new ReentrantLock(); } @GuardedBy("lock") public void deposit(double amount) { lock.lock(); try { balance += amount; } finally { lock.unlock(); } } @GuardedBy("lock") public void withdraw(double amount) { lock.lock(); try { balance -= amount; } finally { lock.unlock(); } } @GuardedBy("lock") public double getBalance() { return balance; } }


上一篇:
下一篇:
切换中文