多线程---同步函数(转载)

/**
同步有两种方式:一、同步代码块;二、同步函数
使用synchronized注意只要对需要同步的代码进行同步,多余的不用
如何找问题:
1、明确哪些代码是多线程运行代码
2、明确共享数据
3、明确多线程运行代码中哪些语句是操作共享数据的。
**/
class Bank
{
private int sum;
//Object obj = new Object();
public synchronized void add(int n)//这就是同步函数,简化了代码
{
//synchronized(obj)
//{
sum = sum + n;
try{Thread.sleep(10);}catch(Exception e){}
System.out.println("总计:"+sum);
//}
}
}
class Cus implements Runnable
{
private Bank b = new Bank();
public void run()
{
for(int x=0; x<3; x++)
{
b.add(100);
}
}
}
class ThreadBank
{
public static void main(String[] args)
{
Cus c = new Cus();
Thread t1 = new Thread(c);
Thread t2 = new Thread(c);
t1.start();
t2.start();
}
}
posted @ 2015-02-10 13:29  kevinfuture  阅读(131)  评论(0编辑  收藏  举报