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


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值