//仅作为学习笔记
/*
多线程 同步函数 练习
1,明确哪些代码是多线程运行代码
2,明确共享数据
3,明确多线程运行代码中哪些语句是操作共享数据的
*/
class Bank
{
private int sum =0;
//Object obj = new Object();
public synchronized void add(int a)//同步函数
{
// synchronized(obj){//同步代码块
sum+=a;
try{Thread.sleep(40);}catch(Exception e){}
System.out.println("sum = "+ sum);
// }
}
}
class Client implements Runnable
{
private Bank b = new Bank();
public void run()
{
for(int i=0;i<3;i++)
{
b.add(100);
}
}
}
class Test
{
public static void main(String []args)
{
Client c = new Client();
Thread t1 = new Thread(c);
Thread t2 = new Thread(c);
t1.start();
t2.start();
}
}