当前位置:主页 > 科技论文 > 软件论文 >

并行程序中同步机制的软件自动重构方法研究与实现

发布时间:2020-07-03 12:36
【摘要】:随着Java多线程技术的普及和完善,并行程序设计技术正逐渐成熟的运用在多核处理器和众核处理器的方方面面。然而在并行程序设计编程模式中,线程安全问题使程序开发人员面临着严峻的挑战。非线程安全问题使多线程开发存在数据竞争造成的程序隐患,甚至会导致整体程序崩溃。为了解决非线程安全问题,Java提供了多线程同步机制,其中包括锁同步机制和原子块同步机制。同时Java提供了线程安全容器的内部同步,例如哈希机制中的Hashtable和ConcurrentHashMap,这些内置同步为多线程机制提供了线程安全保障。使用多线程同步机制能够更好的减少程序隐患成为程序开发人员研究的重要问题。针对多线程同步机制展开研究,以线程安全问题作为切入点,以内置同步的两种哈希机制为具体研究对象对线程安全问题进行探究。通过两种内置同步的哈希机制的对比测试,探究不同场景时Hashtable和Concurrent HashMap的优劣情况,进而为线程同步的哈希机制的自动重构提供理论依据。在哈希机制的背景下,利用JDK1.8中提出的避免非线程安全问题的并行流方法与传统多线程机制进行对比测试,进一步探究线程安全问题的解决方法。在线程安全问题深入研究的基础上,对解决多线程线程安全的同步机制问题展开研究和思考。利用了常见的同步锁机制和原子块无锁同步机制解决线程安全问题。在不同场景下对两种同步机制进行测试,通过不同程序测试环境下的测试结果,探究同步机制的性能差异,分析同步机制在各种场景中的优劣情况,为同步机制的自动重构提供理论依据。本文提出了一种Java多线程同步机制的软件自动重构方法。完成了两种线程安全同步机制的重构工具—Rehasher及Resynchronizer。Rehasher实现了内置同步哈希机制从Hashtable到ConcurrentHashMap的自动重构,Resynchronizer实现了同步锁到同步原子块的自动重构。通过抽象语法树技术来梳理语法结构辅助完成。在Eclipse JDT环境下实现了两种线程安全同步机制的自动重构工具。本重构工具在线程安全同步机制的深入探究的理论支持下实现设计,并用对比测试程序进行测试,测试结果表明Rehasher及Resynchronizer能够高效的实现预期重构工作。
【学位授予单位】:河北科技大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
【图文】:

软件开发过程,代码,重构方法,程序开发


构、在修改 bug 时进行重构、在代码复审时进行重构。此可见,重构规范了程序员修改代码的模式,提高了程序开发者对代,重构的意义显而易见,重构的意义包括:)可以针对需求将软件的开发进行优化,使其软件开发更加逻辑清楚,)可以辅助程序开发人员快速找到程序问题。)可以实现程序开发者编程效率的飞速提高。)可以提高程序开发维护工作的工作效率。)重构可以省略程序测试工作中的资源消耗。)重构可以提高和改善代码功能的灵活性。软件重构方法研究于所作程序员,为了改善代码编写风格并且容易通过指导性的原理实再利用,与此同时在重构方法的合理应用过程中使得软件的开发效率升。

阶段,版本,软件系统


河北科技大学硕士学位论文格,可现阶段再完善的软件开发也不可能满足未知而又了化解这个矛盾,进化是软件开发方法应运而生。2 所示,程序开发者根据现有的编程框架,通过软件需求匹的并发活动,开发出软件的初始版本。的变化,在初始版本的基础上再通过同样的并发活动改软件缺陷和漏洞继续重复并发活动,最终开发出软件的过不断反复的根据用户反馈逐渐修复完善,实现了软件最终用户需求前,每一个软件系统都要通过一次又一次,都要有软件系统的扩展来不断适应新的需求,基本过程如

【参考文献】

相关期刊论文 前10条

1 张杨;张冬雯;仇晶;;面向Java锁机制的字节码自动重构框架[J];计算机科学;2015年11期

2 张杨;张冬雯;;基于Joeq编译器的软件分析及其应用[J];河北师范大学学报(自然科学版);2015年03期

3 QIAN Ju;CHEN Lin;XU BaoWen;;Finding shrink critical section refactoring opportunities for the evolution of concurrent code in trustworthy software[J];Science China(Information Sciences);2013年01期

4 王伟;许云峰;高凯;;基于哈希表的动态向量降维方法的研究及应用[J];河北科技大学学报;2011年04期

5 徐卫志;宋风龙;刘志勇;范东睿;余磊;张帅;;众核处理器片上同步机制和评估方法研究[J];计算机学报;2010年10期

6 袁阳;赵耿;沈薇;;数字签名技术中混沌哈希函数的构造与分析[J];计算机工程与应用;2010年09期

7 于冬琦;彭鑫;赵文耘;;使用抽象语法树和静态分析的克隆代码自动重构方法[J];小型微型计算机系统;2009年09期

8 杨虹;卢贵武;张雪粉;陈勇;;油、水、活性剂混合体系在方解石表面吸附的微观机理[J];中国石油大学学报(自然科学版);2009年01期

9 邓绍江;廖晓峰;肖迪;;一种基于混沌的可并行Hash函数[J];计算机科学;2008年06期

10 廖名学;范植华;;基于素数序列的Java哈希表性能优化[J];计算机工程与应用;2008年03期

相关硕士学位论文 前1条

1 柳晨光;面向多线程机制的软件重构方法研究与实现[D];河北科技大学;2016年



本文编号:2739670

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2739670.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户fc691***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com