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

来源 :河北科技大学 | 被引量 : 1次 | 上传用户:losches
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着Java多线程技术的普及和完善,并行程序设计技术正逐渐成熟的运用在多核处理器和众核处理器的方方面面。然而在并行程序设计编程模式中,线程安全问题使程序开发人员面临着严峻的挑战。非线程安全问题使多线程开发存在数据竞争造成的程序隐患,甚至会导致整体程序崩溃。为了解决非线程安全问题,Java提供了多线程同步机制,其中包括锁同步机制和原子块同步机制。同时Java提供了线程安全容器的内部同步,例如哈希机制中的Hashtable和ConcurrentHashMap,这些内置同步为多线程机制提供了线程安全保障。使用多线程同步机制能够更好的减少程序隐患成为程序开发人员研究的重要问题。针对多线程同步机制展开研究,以线程安全问题作为切入点,以内置同步的两种哈希机制为具体研究对象对线程安全问题进行探究。通过两种内置同步的哈希机制的对比测试,探究不同场景时Hashtable和Concurrent HashMap的优劣情况,进而为线程同步的哈希机制的自动重构提供理论依据。在哈希机制的背景下,利用JDK1.8中提出的避免非线程安全问题的并行流方法与传统多线程机制进行对比测试,进一步探究线程安全问题的解决方法。在线程安全问题深入研究的基础上,对解决多线程线程安全的同步机制问题展开研究和思考。利用了常见的同步锁机制和原子块无锁同步机制解决线程安全问题。在不同场景下对两种同步机制进行测试,通过不同程序测试环境下的测试结果,探究同步机制的性能差异,分析同步机制在各种场景中的优劣情况,为同步机制的自动重构提供理论依据。本文提出了一种Java多线程同步机制的软件自动重构方法。完成了两种线程安全同步机制的重构工具—Rehasher及Resynchronizer。Rehasher实现了内置同步哈希机制从Hashtable到ConcurrentHashMap的自动重构,Resynchronizer实现了同步锁到同步原子块的自动重构。通过抽象语法树技术来梳理语法结构辅助完成。在Eclipse JDT环境下实现了两种线程安全同步机制的自动重构工具。本重构工具在线程安全同步机制的深入探究的理论支持下实现设计,并用对比测试程序进行测试,测试结果表明Rehasher及Resynchronizer能够高效的实现预期重构工作。
其他文献
随着人类生活水平的提高,机动车使用量逐年增加,伴随而来的是各类交通事故的发生,安全驾驶已成为社会关注的问题之一,其中,因疲劳驾驶而导致的交通事故占很大比例,因此,研究
随着商业发展速度的加快,城市大中型商业网点建设成为当今社会商业规划的重要部分。地理信息系统(GIS)在信息化社会的发展中,逐渐受到重视,成为近年的热门学科,它在地图要素
本文运用景观生态学原理对我国海岛旅游的多元化发展进行了探讨。重点对海岛生态游、海岛高端旅游、无人岛旅游等新兴海岛旅游开发做了论述。提出在坚持对海岛"先保护,后开发
近年来,随着大量知识的产生,知识图谱正在发挥着越来越重要的作用,其中,知识库就是构建知识图谱的关键,然而这些知识库往往缺乏一定的领域通用性,不能满足特定领域的知识图谱
随着经济的快速发展和建筑总量的攀升,我国建筑的高耗能问题日益突出,特别是国家机关办公建筑和大型公共建筑,它是能源浪费现象非常严重的地方,存在着巨大的节能空间。降低建
随着物联网、云计算、大数据、移动互联网等热门技术的不断发展,智慧城市、智慧园区的各种研究炙手可热,人类正在快速进入一个数字化、智慧化的新时代,智慧化的管理和服务正
随着互联网与计算机技术的高速发展,集分布式与网络存储等技术于一身的云计算技术逐渐成为信息技术研究领域的焦点。云计算技术因众多优势而被广泛应用,但同时带来了各种各样
本文基于"语码转换的顺应性模式",选取广播语料、公共场所和生活语料作为分析文本,试图对上海话与普通话之间的语码转换现象进行深入剖析,并揭示现象背后的各种动机和原因。
随着综合国力的不断增强,中国赢得了世界越来越多的关注,与外界的联系也日益密切,中国文化“走出去”显得愈加迫切。顺应这一形势诉求,上海外国语大学“跨文化研究中心”组织