本帖最后由 刘国涛 于 2013-3-21 10:16 编辑
银行有一个金库,有两个储户分别存300元,每次存100,存3次。
class Bank
{
private int sum;
public void add(int n)
{
sum = sum + n;
try{Thread.sleep(10);}catch(Exception e){}
System.out.println("sum="+sum);
}
}
class Cus implements Runnable
{
private Bank b = new Bank();
public void run()
{
for(int x=0; x<3; x++)
{
b.add(100);
}
}
}
class BankDemo
{
public static void main(String[] args)
{
Cus c = new Cus();
Thread t1 = new Thread(c);
Thread t2 = new Thread(c);
t1.start();
t2.start();
}
}
我没有写同步,但是我想知道代码具体是怎样运行才会得到这个结果的呢?有两个200和两个600,到底是怎么算出来的呢? |