[发明专利]一种动态链接库多线程调用方法及系统有效
申请号: | 201910484021.8 | 申请日: | 2019-06-04 |
公开(公告)号: | CN110187959B | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 陈桂亮 | 申请(专利权)人: | 北京慧眼智行科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 古利兰 |
地址: | 100093 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 动态 链接 多线程 调用 方法 系统 | ||
1.一种动态链接库多线程调用方法,其特征在于,包括:
构建动态链接库的线程安全框架,使得通过构建的动态链接库的线程安全框架,建立动态链接库与线程之间的关系;
基于构建的所述线程安全框架,对所述动态链接库进行多线程调用;
其中,所述构建动态链接库的线程安全框架,包括:
定义动态链接库调用类文件;
基于所述动态链接库调用类文件,获取编译后程序集的资源文件中动态资源库调用类源码;
基于所述调用类源码以特殊的标识生成多个线程对应的调用类源码;
基于所述多个线程对应的调用类源码,动态编译调用类源码;
生成对应标识的动态链接库调用库。
2.根据权利要求1所述的方法,其特征在于,所述基于所述调用类源码以特殊的标识生成多个线程对应的调用类源码,包括:
基于所述调用类源码,通过反射的方式加载到内存加上特殊的标识,生成多个线程对应的调用类源码。
3.根据权利要求2所述的方法,其特征在于,所述动态链接库调用类文件包括:调用函数类的文件地址、调用函数名、调用标识和动态链接库名。
4.根据权利要求3所述的方法,其特征在于,所述基于构建的所述线程安全框架,对所述动态链接库进行多线程调用,包括:
将所述动态链接库调用类文件以资源的方式输出到文件;
基于线程安全框架的要求,将动态链接库相关参数传入线程安全框架;
获取调用函数地址;
基于所述调用函数地址,调用动态链接库进行多线程调用。
5.一种动态链接库多线程调用系统,其特征在于,包括:
构建模块,用于构建动态链接库的线程安全框架,使得通过构建的动态链接库的线程安全框架,建立动态链接库与线程之间的关系;
调用模块,用于基于构建的所述线程安全框架,对所述动态链接库进行多线程调用;
定义单元,用于定义动态链接库调用类文件;
第一获取单元,用于基于所述动态链接库调用类文件,获取编译后程序集的资源文件中动态资源库调用类源码;
第一生成单元,用于基于所述调用类源码以特殊的标识生成多个线程对应的调用类源码;
编译单元,用于基于所述多个线程对应的调用类源码,动态编译调用类源码;
第二生成单元,用于生成对应标识的动态链接库调用库。
6.根据权利要求5所述的系统,其特征在于,所述第一生成单元在执行基于所述调用类源码以特殊的标识生成多个线程对应的调用类源码时,具体用于:
基于所述调用类源码,通过反射的方式加载到内存加上特殊的标识,生成多个线程对应的调用类源码。
7.根据权利要求6所述的系统,其特征在于,所述动态链接库调用类文件包括:调用函数类的文件地址、调用函数名、调用标识和动态链接库名。
8.根据权利要求7所述的系统,其特征在于,所述调用模块在执行基于构建的所述线程安全框架,对所述动态链接库进行多线程调用时,包括:
输出单元,用于将所述动态链接库调用类文件以资源的方式输出到文件;
传入单元,用于基于线程安全框架的要求,将动态链接库相关参数传入线程安全框架;
第二获取单元,用于获取调用函数地址;
调用单元,用于基于所述调用函数地址,调用动态链接库进行多线程调用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京慧眼智行科技有限公司,未经北京慧眼智行科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910484021.8/1.html,转载请声明来源钻瓜专利网。