本帖最后由 浪无痕-陈文坤 于 2013-8-5 09:36 编辑
class Bank
{
private int sum; //共享数据
Object obj=new Object();
public void add(int n)
{
synchronized(obj) //这里有两句,所以需要锁
{
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();
}
}
其中Object对象作为锁,不是太明白,这个上锁怎么体现出来,谢谢!! |
|