JAVA 同步函数

//仅作为学习笔记


/*
	多线程 同步函数 练习

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();
	}
}

JAVA 同步函数_第1张图片

你可能感兴趣的:(JAVA 同步函数)