日期:2014-05-20  浏览次数:20656 次

while() 语句在这儿的作用?
在下面这段程序里面有一个while语句,但是语句后直接就跟着分号,这和普通的while语句有什么区别吗? 管辖的范围有多大?

Java code


class Bank
{
private Account[] account;
private boolean locked;
public Bank()
{
account = new Account[100];
for(int i = 0; i < account.length; i++)
{
account[i] = new Account();
}
locked = false;
}
public void transferMoney(int accountNumber, float amount)
{
while(locked);
locked = true;
float oldBalance = account[accountNumber].getBalance();
float newBalance = oldBalance + amount;
account[accountNumber].setBalance(newBalance);
locked = false;
}
}





while(locked)要是一直包含到locked = false;和现在的有区别吗?

------解决方案--------------------
这句话 如果locked==true的话 就不执行下去了 等待locked的值改变
------解决方案--------------------
这应该是项目的一部分,用在单独线程里,如ls所言,"while(locked);"就是判断记录是否被锁(locked),如被锁则等待解锁,否则将它锁住(locked = true)并进行操作,操作完成后解锁(locked = false)。