[发明专利]一种指令执行的方法以及相关设备有效
申请号: | 201810701825.4 | 申请日: | 2018-06-30 |
公开(公告)号: | CN110659140B | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 杨亮;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 指令 执行 方法 以及 相关 设备 | ||
1.一种指令执行的方法,其特征在于,包括:
通过第一进程使用异步调用函数RpcCallProcedureEx向第二进程发送远程异步调用指令,以使得所述第二进程根据所述远程异步调用指令进行处理,并返回异步完成指令;
接收所述异步完成指令,所述异步完成指令中携带有远程调用标识符gid;
根据所述远程调用标识符gid从全局字典中查找目标结构体RpcCompositeMessage,所述全局字典至少包括所述远程调用标识符gid对应所述目标结构体RpcCompositeMessage,所述目标结构体RpcCompositeMessage中包括目标线程的访问标识,所述目标线程为所述第一进程发送所述远程异步调用指令所使用的线程;
根据所述目标结构体RpcCompositeMessage判断当前远程调用是否线程安全,所述当前远程调用为所述第一进程向所述第二进程发起的远程调用;
若是,根据所述目标结构体RpcCompositeMessage确定目标函数对象task,所述目标函数对象task中包括异步完成函数RpcCompleteRoutine,所述异步完成函数RpcCompleteRoutine用于指示所述当前远程调用所调用的数据;
在所述目标线程中注册目标信号处理函数ApcRoutineApcRoutine,以通过所述目标线程接收目标信号,并通过所述目标信号处理函数ApcRoutine对所述目标信号进行处理,所述目标信号中携带有所述目标函数对象task;
基于所述目标线程的访问标识将所述目标信号投递至所述目标线程进行处理。
2.根据权利要求1所述的方法,其特征在于,所述通过所述第一进程向第二进程发送远程异步调用指令之前,所述方法还包括:
通过所述异步调用函数RpcCallProcedureEx获取目标属性值,所述目标属性值用于指示所述当前远程调用是否线程安全;
获取所述第一进程的目标线程的访问标识;
根据所述访问标识以及所述目标属性值生成所述目标结构体RpcCompositeMessage;
将所述目标结构体RpcCompositeMessage保存至所述全局字典。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述目标结构体RpcCompositeMessage确定目标函数对象task包括:
从所述目标结构体RpcCompositeMessage中获取所述异步完成函数RpcCompleteRoutine以及执行结果函数,所述执行结果函数包含于所述异步调用函数RpcCallProcedureEx;
根据所述异步完成函数RpcCompleteRoutine以及所述执行结果函数确定所述目标函数对象task。
4.根据权利要求3所述的方法,其特征在于,所述基于所述目标线程的访问标识将所述目标信号投递至所述目标线程进行处理包括:
基于所述目标线程的访问标识调用pthread_sigqueue函数将所述目标信号投递至所述目标线程进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810701825.4/1.html,转载请声明来源钻瓜专利网。