java synchronized详解

java synchronized详解

ID:34570545

大小:621.51 KB

页数:28页

时间:2019-03-08

java synchronized详解_第1页
java synchronized详解_第2页
java synchronized详解_第3页
java synchronized详解_第4页
java synchronized详解_第5页
资源描述:

《java synchronized详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、DevinZhang昵称:DevinZhang园龄:2年9个月粉丝:256关注:0+加关注博客园首页博问闪存新随笔联系订阅管理随笔-118评论-114文章-0trackbacks-0<2011年12月>日一二三四五六27282930123Javasynchronized详解4567891011121314151617第一篇:1819202122232425262728293031使用synchronized1234567在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语

2、言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的搜索多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我们使用了一个简化版本的Account类,代表了一个银行账户的信息。在主找找看程序中我们首先生成了1000个线程,然后启动它们,每一个线程都对John的账户进行存100元,然后马上又取出100元。这样,对于John的账户来说,最终账户的余额应随笔分类(115)该是还是1000元才对。然而运行的结果却超出我们的想像,首先来

3、看看我们的演示代Android之Activity(8)码:openinbrowserPROversionAreyouadeveloper?TryouttheHTMLtoPDFAPIpdfcrowd.comAndroid之Adapter(1)Android之ContentProvider(1)classAccount{Android之Handler(4)Stringname;Android之JSON(2)floatamount;Android之Service(4)Android之SharedPreferences(2)p

4、ublicAccount(Stringname,floatamount){Android之SQLite(2)this.name=name;Android之SurfaceView(5)this.amount=amount;}Android之Widget(1)Android之XML(1)publicvoiddeposit(floatamt){Android之菜单(1)floattmp=amount;Android之单元测试(1)tmp+=amt;Android之调试开发工具(4)try{Android之多点触控(2)Thr

5、ead.sleep(100);//模拟其它处理所需要的时间,比如刷新数据库等Android之环境配置(4)}catch(InterruptedExceptione){Android之基础知识(2)//ignoreAndroid之界面布局(6)}Android之图形图像(1)amount=tmp;Android之网络编程(9)}Android之文件操作(1)Android之优化技术(3)publicvoidwithdraw(floatamt){floattmp=amount;Android之游戏开发(4)tmp-=amt

6、;Java基础知识(17)Java之安全通信(2)try{Thread.sleep(100);//模拟其它处理所需要的时间,比如刷新数据库等openinbrowserPROversionAreyouadeveloper?TryouttheHTMLtoPDFAPIpdfcrowd.comJava之集合类(4)Thread.sleep(100);//模拟其它处理所需要的时间,比如刷新数据库等}catch(InterruptedExceptione){Java之数据结构(3)//ignoreJava之线程池和对象池(3)}设

7、计模式(16)杂谈(1)amount=tmp;}随笔档案(118)publicfloatgetBalance(){2013年8月(1)returnamount;2012年10月(1)}}2012年9月(2)2012年8月(2)2012年7月(3)publicclassAccountTest{2012年6月(1)privatestaticintNUM_OF_THREAD=1000;2012年5月(1)staticThread[]threads=newThread[NUM_OF_THREAD];2012年4月(9)2012

8、年3月(5)publicstaticvoidmain(String[]args){finalAccountacc=newAccount("John",1000.0f);2012年2月(24)for(inti=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。