利索能及
我要发布
收藏
专利号: 201810590265X
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-18
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种优化方法,其特征在于,所述方法包括:创建RPC通信实例;

设置第一变量,所述第一变量用于指示是否创建所述RPC通信实例的RPC主线程,所述RPC主线程用于处理RPC任务队列的执行,其中,通过在RPC模块的RpcBase类中增加一个bool类型的所述第一变量,所述第一变量的初始值为false,表示需要创建所述RPC主线程;

若不需要创建所述RPC主线程,通过调用所述RPC模块的RpcSetProperty方法将所述第一变量的值改为true,表示不需要创建所述RPC主线程;

设置第二变量,所述第二变量用于指示是否创建所述RPC通信实例的传输主线程,所述传输主线程用于处理数据的传输,其中,通过在IPC模块的BaseInterProcessCommunicate类中增加一个bool类型的所述第二变量,所述第二变量的初始值为false,表示需要创建所述传输主线程;若不需要创建所述传输主线程,通过调用所述IPC模块的setOption方法将所述第二变量的值改为true,表示不需要创建所述传输主线程;

根据所述第一变量和所述第二变量,确定是否创建所述RPC通信实例的所述RPC主线程和所述传输主线程;

通过初始化RPC模块的RpcGlobal类来创建RPC全局线程;

如果确定不创建所述RPC通信实例的所述RPC主线程和所述传输主线程,则通过所述RPC全局线程调用RpcPollService函数处理所述RPC通信实例的RPC任务队列的执行和数据的传输。

2.如权利要求1所述的方法,其特征在于,所述方法还包括:通过RpcAddHandleIntoGlobal方法将所述RPC通信实例添加到所述全局线程中;

将添加到所述全局线程的所述RPC通信实例进行线程锁定。

3.如权利要求1所述的方法,其特征在于,所述方法还包括:通过RpcRemoveHandleFromGlobal方法将指定RPC通信实例从所述全局线程中删除,所述指定RPC通信实例为指定的不需要通过所述全局线程处理RPC任务队列的执行和数据的传输的RPC通信实例;

将所述指定RPC通信实例进行线程解锁。

4.如权利要求1‑3任一项所述的方法,其特征在于,所述通过所述RPC全局线程调用RpcPollService函数处理所述RPC通信实例的RPC任务队列的执行和数据的传输包括:通过所述RPC全局线程调用所述RpcPollService函数来调用所述RPC模块的RpcBase类中的poll方法,并在所述poll方法中,调用ProcAddTask方法处理所述RPC通信实例的RPC任务队列的执行,调用ioRun方法处理所述RPC通信实例的数据的传输。

5.一种优化装置,其特征在于,所述装置包括:第一创建单元,用于创建RPC通信实例;

第一设置单元,用于设置第一变量,所述第一变量用于指示是否创建所述RPC通信实例的RPC主线程,所述RPC主线程用于处理RPC任务队列的执行,其中,通过在RPC模块的RpcBase类中增加一个bool类型的所述第一变量,所述第一变量的初始值为false,表示需要创建所述RPC主线程;若不需要创建所述RPC主线程,通过调用所述RPC模块的RpcSetProperty方法将所述第一变量的值改为true,表示不需要创建所述RPC主线程;

第二设置单元,用于设置第二变量,所述第二变量用于指示是否创建所述RPC通信实例的传输主线程,所述传输主线程用于处理数据的传输,其中,通过在IPC模块的BaseInterProcessCommunicate类中增加一个bool类型的所述第二变量,所述第二变量的初始值为false,表示需要创建所述传输主线程;若不需要创建所述传输主线程,通过调用所述IPC模块的setOption方法将所述第二变量的值改为true,表示不需要创建所述传输主线程;

确定单元,用于根据所述第一变量和所述第二变量,确定是否创建所述RPC通信实例的所述RPC主线程和所述传输主线程;

第二创建单元,用于通过初始化RPC模块的RpcGlobal类来创建RPC全局线程;

处理单元,用于如果确定不创建所述RPC通信实例的所述RPC主线程和所述传输主线程,则通过所述RPC全局线程调用RpcPollService函数处理所述RPC通信实例的RPC任务队列的执行和数据的传输。

6.如权利要求5所述的装置,其特征在于,所述装置还包括:添加单元,用于通过RpcAddHandleIntoGlobal方法将所述RPC通信实例添加到所述全局线程中;

锁定单元,用于将添加到所述全局线程的所述RPC通信实例进行线程锁定。

7.如权利要求5所述的装置,其特征在于,所述装置还包括:删除单元,用于通过RpcRemoveHandleFromGlobal方法将指定RPC通信实例从所述全局线程中删除,所述指定RPC通信实例为指定的不需要通过所述全局线程处理RPC任务队列的执行和数据的传输的RPC通信实例;

将所述指定RPC通信实例进行线程解锁。

8.如权利要求5‑7任一项所述的装置,其特征在于,所述处理单元具体用于:通过所述RPC全局线程调用所述RpcPollService函数来调用所述RPC模块的RpcBase类中的poll方法,并在所述poll方法中,调用ProcAddTask方法处理所述RPC通信实例的RPC任务队列的执行,调用ioRun方法处理所述RPC通信实例的数据的传输。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:创建RPC通信实例;

设置第一变量,所述第一变量用于指示是否创建所述RPC通信实例的RPC主线程,所述RPC主线程用于处理RPC任务队列的执行,其中,通过在RPC模块的RpcBase类中增加一个bool类型的所述第一变量,所述第一变量的初始值为false,表示需要创建所述RPC主线程;

若不需要创建所述RPC主线程,通过调用所述RPC模块的RpcSetProperty方法将所述第一变量的值改为true,表示不需要创建所述RPC主线程;

设置第二变量,所述第二变量用于指示是否创建所述RPC通信实例的传输主线程,所述传输主线程用于处理数据的传输,其中,通过在IPC模块的BaseInterProcessCommunicate类中增加一个bool类型的所述第二变量,所述第二变量的初始值为false,表示需要创建所述传输主线程;若不需要创建所述传输主线程,通过调用所述IPC模块的setOption方法将所述第二变量的值改为true,表示不需要创建所述传输主线程;

根据所述第一变量和所述第二变量,确定是否创建所述RPC通信实例的所述RPC主线程和所述传输主线程;

通过初始化RPC模块的RpcGlobal类来创建RPC全局线程;

如果确定不创建所述RPC通信实例的所述RPC主线程和所述传输主线程,则通过所述RPC全局线程调用RpcPollService函数处理所述RPC通信实例的RPC任务队列的执行和数据的传输。

10.一种计算机设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:创建RPC通信实例;

设置第一变量,所述第一变量用于指示是否创建所述RPC通信实例的RPC主线程,所述RPC主线程用于处理RPC任务队列的执行,其中,通过在RPC模块的RpcBase类中增加一个bool类型的所述第一变量,所述第一变量的初始值为false,表示需要创建所述RPC主线程;

若不需要创建所述RPC主线程,通过调用所述RPC模块的RpcSetProperty方法将所述第一变量的值改为true,表示不需要创建所述RPC主线程;

设置第二变量,所述第二变量用于指示是否创建所述RPC通信实例的传输主线程,所述传输主线程用于处理数据的传输,其中,通过在IPC模块的BaseInterProcessCommunicate类中增加一个bool类型的所述第二变量,所述第二变量的初始值为false,表示需要创建所述传输主线程;若不需要创建所述传输主线程,通过调用所述IPC模块的setOption方法将所述第二变量的值改为true,表示不需要创建所述传输主线程;

根据所述第一变量和所述第二变量,确定是否创建所述RPC通信实例的所述RPC主线程和所述传输主线程;

通过初始化RPC模块的RpcGlobal类来创建RPC全局线程;

如果确定不创建所述RPC通信实例的所述RPC主线程和所述传输主线程,则通过所述RPC全局线程调用RpcPollService函数处理所述RPC通信实例的RPC任务队列的执行和数据的传输。