一种应用程序多进程运行方法及装置制造方法及图纸

技术编号:6925481 阅读:293 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例提供了一种应用程序多进程运行方法,所述方法包括:主程序调用主动态库,通过主动态库查找到需要的子动态库;由预先根据所述主程序创建的多个子程序装入所述子动态库;所述多个子程序独立运行,并将运行结果返回给所述主程序。相应的,本发明专利技术实施例还公开了一种应用程序多进程运行装置。采用本发明专利技术,能够减少应用程序运行过程中占用的系统磁盘空间,提高程序运行效率。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种应用程序多进程运行方法及装置
技术介绍
在现有技术中,应用程序(例如Porg. exe)需要调用动态库(例如DynamicLib. dll) 来完成应用程序的请求,而主动态库还需要再一次调用子动态库(例如SubDynamicLib. dll)来完成最终的任务请求,由于子动态库中的函数不支持重载功能,因此,主动态库每次加载子动态库时都需要将该子动态库复制一份到电脑硬盘介质上再加载到内存中,同时, 这样的调用会被应用程序多次调用,所以就产生如图1所示的程序调用逻辑。这种程序逻辑在运行时有如下缺点1、在最终用户的电脑硬盘介质中产生多个相同的子动态库,有时多达几百多个,这样就占用了大量用户的磁盘空间。2、当复制的子动态库越来越多时,这些子动态库与应用程序之间的数据传输的效率就会下降,影响到程序的运行速度。
技术实现思路
有鉴于此,本专利技术所要解决的技术问题在于,提供一种应用程序多进程运行方法及装置,减少应用程序运行过程中占用的系统磁盘空间,提高程序运行效率。本专利技术实施例提供了一种应用程序多进程运行方法,所述方法包括 主程序调用主动态库,通过主动态库查找到需要的子动态库;由预先根据所述主程序创建的多个子程序装入所述子动态库; 所述多个子程序独立运行,并将运行结果返回给所述主程序。其中,所述多个子程序装入所述子动态库为所述多个子程序分别将所述子动态库装入自身内存地址空间。其中,所述多个子程序运行时占用不同的CPU核心。其中,所述主程序为编解码程序,所述子程序为预先根据所述编解码程序编写的多个子编解码程序进程。相应的,本专利技术实施例还提供了一种应用程序多进程运行装置,所述装置包括 主程序单元,用于控制主程序调用主动态库,通过所述主动态库查找到需要的子动态库;子程序单元,用于控制预先根据所述主程序创建的多个子程序装入所述子动态库; 运行返回单元,用于控制所述多个子程序独立运行,并将所述多个子程序的运行结果返回给所述主程序。其中,所述控制所述多个子程序装入所述子动态库为控制所述多个子程序分别将所述子动态库装入自身内存地址空间。其中,运行返回单元控制所述多个子程序运行时占用不同的CPU核心。其中,所述主程序为编解码程序,所述子程序为预先根据所述编解码程序编写的多个子编解码程序进程。实施本专利技术实施例,具有如下有益效果通过程序多进程的方式分别独立地装入动态库,在系统内存中装入多个动态库独立的运行,从而不再需要在系统硬盘介质中复制多个子动态库,减少了应用程序运行过程中占用的系统磁盘空间,并且充分发挥了多核CPU 的性能,提高了程序运行效率。附图说明图1为现有技术中应用程序运行时调用动态库产生的程序调用逻辑图; 图2为本专利技术实施例中一种应用程序多进程运行方法的流程示意图3为本专利技术实施例中一种应用程序多进程运行装置的组成结构示意图; 图4为采用本专利技术的应用程序多进程运行方法的应用程序运行时调用动态库产生的程序调用逻辑图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图2为本专利技术实施例中一种应用程序多进程运行方法的流程示意图,如图所示该方法流程包括步骤S10,主程序调用主动态库,通过主动态库查找到需要的子动态库;具体地,所述多个子程序装入所述子动态库可以为所述多个子程序分别将所述子动态库装入自身内存地址空间。本实施例中的应用程序以编解码程序为例,其主程序为Prog, exe, Prog, exe在进行编解码时,需要调用主动态库DynamicLib. dll,进而由主动态库DynamicLib. dll找到编解码程序运行时需要的子动态库SubDynamicLib. dll。步骤S20,由预先根据所述主程序创建的多个子程序装入所述子动态库;具体地, 本实施例中,可以由技术人员根据编解码主程序exe预先通过编写代码,创建得到多个子程序SubProg. exe,在主程序Prog, exe接收到请求需要调用动态库进行编解码时,由所述多个预先创建的子程序SubProg. exe分别装入所述子动态库SubDynamicLib. dll。步骤S30,所述多个子程序独立运行,并将运行结果返回给所述主程序。具体地,所述多个子程序SubProg. exe分别独立装入子动态库SubDynamicLib. dll后,并行进行编解码操作,并将编解码运行结果返回给主程序Prog, exe。进一步的,所述多个子程序SubProg. exe分别装入SubDynamicLib. dll独立运行时,占用的是不同CPU核心,这样更能发挥现今多核CPU架构的性能,进一步提高了程序运行效率。图3为本专利技术实施例中一种应用程序多进程运行装置的组成结构示意图,如图所示所述装置包括主程序单元10,用于控制主程序调用主动态库,通过所述主动态库查找到需要的子动态库;本实施例的应用程序多进程运行装置以控制一编解码程序为例,应用程序主程序为Prog, exe,在运行Prog, exe进行编解码时,主程序单元控制Prog, exe调用主动态库 DynamicLib. dll,进而由主动态库DynamicLib. dll找到编解码程序运行时需要的子动态库 SubDynamicLib. dll。子程序单元20,用于控制预先根据所述主程序创建的多个子程序装入所述子动态库;具体地,所述控制所述多个子程序装入所述子动态库可以为控制所述多个子程序分别将所述子动态库装入自身内存地址空间。本实施例中,可以由技术人员根据编解码主程序Prog, exe预先通过编写代码,创建得到多个子程序SubProg. exe,本实施例的应用程序多进程运行装置在运行主程序Prog, exe需要调用动态库进行编解码时,子程序单元20控制所述多个预先创建的子程序SubProg. exe分别装入所述子动态库SubDynamicLib. dll。运行返回单元30,用于控制所述多个子程序独立运行,并将所述多个子程序的运行结果返回给所述主程序。具体地,所述多个子程序SubProg. exe分别独立装入子动态库 SubDynamicLib. dll后,在运行返回单元30的控制下并行进行编解码操作,并将编解码运行结果返回给主程序Prog, exe。进一步的,运行返回单元30控制所述多个子程序运行时占用不同的CPU核心,这样更能发挥现今多核CPU架构的性能,进一步提高了程序运行效率。需要说明的是,本专利技术实施例以编解码应用程序为例,但显然本方案不仅能够应用在编解码程序中,在音频、图像、文字处理方面的各种应用程序以及其他需要调用动态库完成操作请求的应用程序均能够采用本方案,通过程序多进程的方式分别独立地装入动态库,在系统内存中装入多个动态库独立的运行,参考图4所示的程序调用逻辑图,从而不再需要在系统硬盘介质中复制多个子动态库,减少了应用程序运行过程中占用的系统磁盘空间,并且充分发挥了多核CPU的性能,提高了程序运行效率。以上所揭露的仅为本专利技术一种较佳实施例而已,当然不能以此来限定本本文档来自技高网...

【技术保护点】
1.一种应用程序多进程运行方法,其特征在于,所述方法包括:主程序调用主动态库,通过主动态库查找到需要的子动态库;由预先根据所述主程序创建的多个子程序装入所述子动态库;所述多个子程序独立运行,并将运行结果返回给所述主程序。

【技术特征摘要】
1.一种应用程序多进程运行方法,其特征在于,所述方法包括 主程序调用主动态库,通过主动态库查找到需要的子动态库; 由预先根据所述主程序创建的多个子程序装入所述子动态库; 所述多个子程序独立运行,并将运行结果返回给所述主程序。2.如权利要求1所述的应用程序多进程运行方法,其特征在于,所述多个子程序装入所述子动态库为所述多个子程序分别将所述子动态库装入自身内存地址空间。3.如权利要求1所述的应用程序多进程运行方法,其特征在于,所述多个子程序运行时占用不同的CPU核心。4.如权利要求广3中任一项所述的应用程序多进程运行方法,其特征在于,所述主程序为编解码程序,所述子程序为预先根据所述编解码程序编写的多个子编解码程序进程。5.一种应用程序多进程运行装置,其特征在于,所述装置...

【专利技术属性】
技术研发人员:张太平
申请(专利权)人:深圳市万兴软件有限公司
类型:发明
国别省市:94

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1