【技术实现步骤摘要】
属于线程迁移
,尤其涉及Java线程迁移技术。Java线程迁移(Java Thread Migration)指的是,将在我们的系统中运行的线程(Thread),以线程(Thread)为最小单位,从正在运行的节点(node)暂停执行,将该线程的代码(code)以及数据(data)传输到系统中其他的可运行节点,继续执行的过程。通常,我们所说的透明迁移(transparent migration),指的是,系统在捕捉和恢复线程的代码以及数据的过程中,没有外部的介入,这个外部指的是用户。目前,Java线程迁移领域里,由于java虚拟机没有相应的接口,不能提供给外部程序使其得到正在运行的线程的各种状态,其中包括PC(指令指针)以及操作栈内的内容,公认的可行的方法有两种第一种直接修改虚拟机代码,这样的处理方法很直接,但是带来的问题也是很明显的,这种不透明的处理方法会产生很严重的兼容性问题,众所周知,拥有Java虚拟机版权的SUNMicrosystems(太阳微系统)公司对版权问题是很敏感而且很严格控制其版本的。第二种不涉及到修改虚拟机的任何代码,根据Java代码的 ...
【技术保护点】
基于操作栈纪录的恢复的Java线程迁移的方法,其特征在于:它通过动态地解释载入的字节码,使得在载入目标字节码的同时,动态地修改载入的目标字节码;它对下述不同的程序操作进行不同的处理:(1).赋值操作:把相应的代码段隔离,以便当执行到这些 隔离代码段时去阻止迁移,以此代替对操作栈中的内容进行隔离;(2).操作栈内容保存的操作:在载入目标字节码的过程中,插入相应的处理代码,及时对每一次出栈入栈的操作,都用插入相应的字节码的方法来记录相应的操作。
【技术特征摘要】
【专利技术属性】
技术研发人员:杨广文,马聪鹏,陈明,
申请(专利权)人:清华大学,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。