java5提供了功能更强大的线程同步机制
package thread;
import java.util.concurrent.locks.ReentrantLock;
/**
* 账户类
* @author user
*
*/
public class Account2 {
//定义可重入锁对象
private final ReentrantLock lock = new ReentrantLock();
private String accountNo;
private double balance;
public Account2() {}
public Account2(String accountNo, double balance) {
this.accountNo = accountNo;
this.balance = balance;
}
public String getAccountNo() {
return accountNo;
}
public void setAccountNo(String accountNo) {
this.accountNo = accountNo;
}
public double getBalance() {
return balance;
}
public void draw(double drawAmount) {
//加锁
lock.lock();
try {
//do something
}
finally {
//释放锁对象
lock.unlock();
}
}
}