java同步线程模型分析与改进new

java同步线程模型分析与改进new

ID:34391343

大小:433.53 KB

页数:6页

时间:2019-03-05

java同步线程模型分析与改进new_第1页
java同步线程模型分析与改进new_第2页
java同步线程模型分析与改进new_第3页
java同步线程模型分析与改进new_第4页
java同步线程模型分析与改进new_第5页
资源描述:

《java同步线程模型分析与改进new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据第39卷第3期2010年5月电子科技大学学报JournalofUniversityofElectronicScienceandTechnologyofChina、,01.39No.3May2010Java同步线程模型分析与改进陈文字,陈福,余盛季,孙世新(电子科技大学计算机科学与工程学院成都610054)【摘要】目前普遍采用急救包(Band.Aid)类库的方式解决Java线程模型存在的同步问题,但类库中的代码很难或无法实现优化.该文针对Java同步线程模型的缺陷,扩展synchronisedA

2、键字语法,使它支持多个参数和能接受一个超时说明;重新定义wait()使它返回一个boolean变量来解决超时检测问题;通过扩展语法方法解决了同步问题,以确保使用Java..线程所开发的程序的稳定,可靠和可优化.关键词双检锁:Java内存模型:Java线程模型:同步中图分类号TP312.1:TP309文献标识码Adoi:i0.39690.issn.1001-0548.2010.03.023AnalysisandImprovementforSynchronousThreadModelBasedonJava

3、CHENWcn-yu,CHENFu。YUSheng-ji,andSUNShi-xin(SchoolofComputerScienceandEngineering,UniversityofElectronicScienceandTechnologyofChinaChengdu610054)AbstractJavasupportsthreadingatlanguagelevel.Inordertosynchronize,Javaprovideskeyword“synchronized”andmechani

4、smslikewait()forObjeet,however.thepotentialimperfectnessofthemechanismsmaytriggerunpredictableresults.Currently.“BandAid”classlibraryiSoRenusedtosolvethesynchronizeproblemofJavathreadmodel.butitiShardtooptimizetheclasslibrary.Thepaperdiscussesdrawbackso

5、fJavathreadingmechanism.extendsⅡ1egrammarofsynchronizedkeywordforacceptingmultipleparametersandatimeoutcallback;redefineswait()methodforreturningabooleanvariabletosolvethetimeoutdetectionissue.Thesynchronizeissueissolvedbyusingsyntaxextensionmethodstogu

6、aranteethestability,reliabilityandoptimizedattributesoftheprogramsdevelopedbyJavathreads.Keywordsdouble-checkedlocking;Javamemorymodel;Javathreadmodel;synchronization尽管Java在语言级别就支持多线程编程,但是它对线程的语法和类包的支持太少,只能适用于极小型的应用环境,完全不能满足实际复杂程序的要求,而且不完全面向对象。大多数关于Java

7、线程编程的书籍都指出了Java线程模型的缺陷,并提供了解决这些问题的急救包(band.aid)类库。由于编译器和Java虚拟机(JVM)能一同优化程序代码,而优化对于类库中的代码是很难或无法实现的,本文提出扩展语法而不是提供类库的方法,改进Java的同步线程模型,可产生更高效和可靠的代码。1Java内存管理1.1Java内存模型Javap勺存模型(Javamemorymodel)中,Java作为平台无关性语言,根据Java语言规范(JLS),它定义一个统一的内存管理模型,具体由各个虚拟机来实现。Jav

8、a平台最大的特点就是不用程序员显示地释放与回收内存。Java内存模型的设计在方便开发人员的同时,也增加了虚拟机实现的复杂程度,虚拟机在做代码优化时还有可能导致一些问题的出现。Java内存模型定义了线程访问内存的规则与方式。对于开发人员,只需要在需要同步的代码段给出同步关键字,虚拟机便会在内部帮其实现比较复杂的诸如对象的加锁与解锁等操作。JMM将线程能访问的内存划分为主内存(mainmemory)与工作内存(workingmemory)。在主内存中,存放程

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

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

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