收藏本站
博为峰Android开发培训Banner
您所在的位置:博为峰教育首页 > 资料精选 > 学习资料 > 【学习资料】Java并发编程实战

【学习资料】Java并发编程实战

         发布时间:2015年10月22日 15:12分       来源:博为峰教育网采编    关键词:Java编程     | 上一篇 | 下一篇 |


 

       本文介绍Java最基本的同步方式,即使用synchronized关键字来控制一个方法的并发访问,如果一个对象已用synchronized关键字声明,那么只有一个执行线程允许去访问它,其它试图访问这个对象的线程将被挂起,直到第一个线程访问完毕。

 

Java并发编程实战

 

       下面通过一个小例子来学习这个概念,公司向银行存钱,取钱场景。

 

       1:创建Account的账号类,它是银行账户的模型,只有一个双精度浮点型属性,balance.

 

       2:实现balance的get set 方法。

 

       3:实现AddAmount()方法,将传入的数量加到余额balance中,并且在同一时间只允许一个线程去改变这个值,使用synchronized关键字。

 

       4:实现SubtractAmount()方法,将传入的数量从余额balance中扣除,并且在同一时间只允许一个线程去改变这个值。

 

       5:实现一个ATM模拟类Bank,它使用subtractAmount()方法对账户的余额进行扣除,实现Runabl接口。

 

       6:实现公司模拟类,调用addAmount()方法进行存钱,实现Runabl接口。

 

       7:在主方法中调用测试:通过线程的join方法,在存期那,取钱线程模拟完毕后打印出结构。

 

       结果,相同时间内,存与取执行后应该是相等的。如果我们在方法中不去使用synchronized关键字,那么得出的结果就不对了。
        Account : Initial Balance: 1000.000000
        Account : Final Balance: 1000.000000