[发明专利]实现构件对象托管的方法和数据处理设备有效
申请号: | 200910050885.5 | 申请日: | 2009-05-08 |
公开(公告)号: | CN101882068A | 公开(公告)日: | 2010-11-10 |
发明(设计)人: | 宋世军;陈榕 | 申请(专利权)人: | 上海科泰世纪科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201203 上海市张江高*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 构件 对象 托管 方法 数据处理 设备 | ||
技术领域
本发明涉及一种实现构件管控的方法和设备,特别是涉及一种实现构件对象托管的方法和数据处理设备。
背景技术
随着计算机软件技术的不断发展,构件化软件技术已经越来越普及,各种各样的构件技术和支持这些构件技术的相应的嵌入式操作系统也应运而生。
目前,人们在利用构件化软件系统平台进行构件编程时,例如,在上海科泰世纪科技有限公司开发的Elastos平台上进行构件编程时,通常引用计数管理构件对象的生命周期,当不再使用一个构件对象时,需通过调用Release方法释放对该构件对象的引用。然而,有的时候所使用的构件对象的生命周期要比当前线程还要长,甚至可能在整个程序的运行过程中都需要访问它。如果创建这个构件对象的线程是进程的主线程,那么可以利用“线程托管对象”的方式将构件对象托管到主线程上,因为主线程的生命周期与进程一样,可以保证该构件对象一直有效。如果只是在一个普通线程上创建的构件对象,这时就比较麻烦,可以将这个构件对象的指针传递给主线程,由其代为管理。虽然有上述这些手段能实现构件对象的托管,但对用户来说上述这些手段都比较繁琐,如果要托管的构件对象很多,不同的构件对象又可能由不同线程或者代码、甚至第三方的代码来创建的等,这些情况导致上述这些手段操作起来更加复杂、更容易出错。
发明内容
鉴于以上内容,有必要提供一种实现构件对象托管的方法,以提高构件对象托管效率和避免构件对象托管错误。
此外,还有必要提供一种实现构件对象托管的数据处理设备,以提高构件对象托管效率和避免构件对象托管错误。
一种实现构件对象托管的方法,适用于能运行构件化软件系统的数据处理设备。该方法包括步骤:(a)定义构件对象的托管函数、自动释放全局托管对象函数及析构函数;(b)执行定义的托管函数将需托管的构件对象托管给进程;(c)执行定义的自动释放全局托管对象函数,将被托管的构件对象的指针插入全局托管对象的托管对象链表;(d)等待所托管的进程结束;(e)在所托管的进程结束时,定义的自动释放全局托管对象函数自动释放全局托管对象,进入定义的析构函数;(f)执行定义的析构函数遍历全局托管对象的托管对象链表,并调用所有被托管的构件对象对应的释放方法以释放所有被托管的构件对象。
一种实现构件对象托管的数据处理设备,该数据处理设备包括存储器及处理器。该存储器用于存储构件化软件系统。该处理器用于运行存储的构件化软件系统中的构件对象托管模块,以执行以下步骤:(i1)定义构件对象的托管函数、自动释放全局托管对象函数及析构函数;(i2)执行定义的托管函数将需托管的构件对象托管给进程;(i3)执行定义的自动释放全局托管对象函数,将被托管的构件对象的指针插入全局托管对象的托管对象链表;(i4)等待所托管的进程结束;(i5)在所托管的进程结束时,定义的自动释放全局托管对象函数自动释放全局托管对象,进入定义的析构函数;(i6)执行定义的析构函数遍历全局托管对象的托管对象链表,并调用所有被托管的构件对象对应的释放方法以释放所有被托管的构件对象。
相较现有技术,本发明通过在构件化软件系统中利用托管函数将构件对象托管给进程,在所托管的进程结束时利用析构函数将被托管的构件对象整体释放,提高了构件对象的托管效率,避免了构件对象的托管错误。
附图说明
图1是本发明实现构件对象托管的数据处理设备较佳实施例的结构示意图。
图2是本发明实现构件对象托管的方法较佳实施例的具体实施流程图。
具体实施方式
如图1所示,是本发明实现构件对象托管的数据处理设备较佳实施例的结构示意图。该数据处理设备1可以是计算机、手机、个人数字助理(Personal Digital Assistant,PDA)等。该数据处理设备1包括处理器11及存储器(图中未示出)。该存储器用于存储能实现构件对象托管的构件化软件系统10。该构件化软件系统10包括一个构件对象托管模块100。该处理器11用于运行存储的构件化软件系统10中的构件对象托管模块100以实现构件对象的托管。
如图2所示,是本发明实现构件对象托管的方法较佳实施例的具体实施流程图。该方法适用于图1所示的数据处理设备1。
以下是结合本实施例逐步实现构件对象托管的内容,即:该处理器11运行存储的构件化软件系统10中的构件对象托管模块100逐步实现构件对象托管的内容。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海科泰世纪科技有限公司,未经上海科泰世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910050885.5/2.html,转载请声明来源钻瓜专利网。