欢迎来到知嘟嘟! 联系电话:13336804447 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13336804447
知嘟嘟经纪人
收藏
专利号: 2017109326522
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-04-28
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种多任务并发执行方法,其特征在于,该方法包括以下步骤:

S1、主线程完成任务管理对象的初始化,所述任务管理对象用于管理所有子任务线程的创建、释放与开销;初始化过程中,将创建多个用于执行网络服务任务的子任务线程的对象,该子任务线程的对象的个数与操作系统的最大任务数相匹配;

S2、主线程通过执行任务管理对象已有的执行接口,完成所有子任务线程的创建,并进行子任务线程的执行过程的设置;

S3、主线程完成网络服务任务的初始化;初始化过程中,根据不同的网络请求创建各种不同的网络服务任务,并为每个网络服务任务绑定相应的网络请求回调函数,网络请求回调函数用来根据不同的网络请求执行不同的网络服务操作;

S4、当有网络服务任务对应的网络请求到来时,创建该网络服务任务对应的网络事件消息,并根据该网络服务任务绑定的网络请求回调函数,设置该网络事件消息的回调处理函数;再将该网络事件消息投递到消息队列中;当前线程最靠前的子任务线程,从消息队列中获取该网络事件消息,并通过调用相应的回调处理函数来执行对应网络服务任务;执行完成后,释放该网络事件消息并继续等待新的网络事件消息的到来。

2.如权利要求1所述的多任务并发执行方法,其特征在于,步骤S1中主线程完成任务管理对象的初始化的具体流程为:S101、从本地配置文件中获取操作系统的最大任务数;

S102、创建用于管理所有子任务线程的创建、释放与开销的任务管理对象;

S103、将子任务线程的对象的个数初始化为与操作系统的最大任务数相匹配;

S104、按照初始化的子任务线程的对象的个数,创建多个用于执行网络服务任务的子任务线程的对象;并设置好相应的初始化接口、处理函数,以及子任务线程的任务ID。

3.如权利要求2所述的多任务并发执行方法,其特征在于,步骤S2中,主线程采用循环方式完成所有子任务线程的创建及执行过程的设置,每次循环过程的具体流程为:S201、设置子任务线程的调用接口函数的函数体,该函数体用来实现子任务线程的执行过程;该函数体被执行时,首先调用初始化时设置好的初始化接口,然后再获取消息接口,该消息接口是用来获取消息队列中网络事件消息的接收接口;该函数体的主体为一个while死循环,该while死循环的入口为网络事件消息获取,当获取到网络事件消息时调用初始化时设置好的处理函数执行该网络事件消息对应的网络服务任务,执行完成后,释放该网络事件消息并继续等待新的网络事件消息的到来;

S202、设置子任务线程的调用接口函数的处理参数,该处理参数为初始化时创建的子任务线程的对象;

S203、将子任务线程的ID设置为初始化时设置好的子任务线程的任务ID;

S204、通过子线程创建函数创建上述设置好的子任务线程;并将创建的子任务线程的ID返回给任务管理对象进行统一管理。

4.如权利要求1所述的多任务并发执行方法,其特征在于,步骤S3具体包括以下流程:

S301、主线程根据不同的网络请求通过绑定IP与端口创建各种不同的网络服务任务;

S302、主线程为每个网络服务任务绑定相应的网络请求回调函数;

S303、主线程完成上述网络服务任务的初始化后,调用用于实现主线程等待的等待函数,保持主线程自身不退出。

5.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述权利要求1至4中任一项所述方法的步骤。

6.一种多任务并发执行设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现上述权利要求1至4中任一项所述方法的步骤。

7.一种多任务并发执行系统,其特征在于:该系统包括任务管理对象初始化模块、子任务线程创建设置模块、网络服务任务初始化模块、任务请求处理模块;

所述任务管理对象初始化模块用于:控制主线程完成任务管理对象的初始化,所述任务管理对象用于管理所有子任务线程的创建、释放与开销;初始化过程中,将创建多个用于执行网络服务任务的子任务线程的对象,该子任务线程的对象的个数与操作系统的最大任务数相匹配;

所述子任务线程创建设置模块用于:控制主线程通过执行任务管理对象已有的执行接口,完成所有子任务线程的创建,并进行子任务线程的执行过程的设置;

所述网络服务任务初始化模块用于:控制主线程完成网络服务任务的初始化;初始化过程中,根据不同的网络请求创建各种不同的网络服务任务,并为每个网络服务任务绑定相应的网络请求回调函数,网络请求回调函数用来根据不同的网络请求执行不同的网络服务操作;

所述任务请求处理模块用于:当有网络服务任务对应的网络请求到来时,创建该网络服务任务对应的网络事件消息,并根据该网络服务任务绑定的网络请求回调函数,设置该网络事件消息的回调处理函数;再将该网络事件消息投递到消息队列中;控制当前线程最靠前的子任务线程从消息队列中获取该网络事件消息,并通过调用相应的回调处理函数来执行对应网络服务任务;执行完成后,释放该网络事件消息并继续等待新的网络事件消息的到来。

8.如权利要求7所述的多任务并发执行系统,其特征在于,所述任务管理对象初始化模块控制主线程完成任务管理对象的初始化的具体流程为:从本地配置文件中获取操作系统的最大任务数;创建用于管理所有子任务线程的创建、释放与开销的任务管理对象;将子任务线程的对象的个数初始化为与操作系统的最大任务数相匹配;按照初始化的子任务线程的对象的个数,创建多个用于执行网络服务任务的子任务线程的对象;并设置好相应的初始化接口、处理函数,以及子任务线程的任务ID。

9.如权利要求8所述的多任务并发执行系统,其特征在于,所述子任务线程创建设置模块控制主线程采用循环方式完成所有子任务线程的创建及执行过程的设置,每次循环过程的具体流程为:所述子任务线程创建设置模块控制主线程设置子任务线程的调用接口函数的函数体,该函数体用来实现子任务线程的执行过程;该函数体被执行时,首先调用初始化时设置好的初始化接口,然后再获取消息接口,该消息接口是用来获取消息队列中网络事件消息的接收接口;该函数体的主体为一个while死循环,该while死循环的入口为网络事件消息获取,当获取到网络事件消息时调用初始化时设置好的处理函数执行该网络事件消息对应的网络服务任务,执行完成后,释放该网络事件消息并继续等待新的网络事件消息的到来;

所述子任务线程创建设置模块控制主线程设置子任务线程的调用接口函数的处理参数,该处理参数为初始化时创建的子任务线程的对象;

所述子任务线程创建设置模块控制主线程将子任务线程的ID设置为初始化时设置好的子任务线程的任务ID;

所述子任务线程创建设置模块控制主线程通过子线程创建函数创建上述设置好的子任务线程;并将创建的子任务线程的ID返回给任务管理对象进行统一管理。

10.如权利要求7所述的多任务并发执行系统,其特征在于,所述网络服务任务初始化模块控制主线程完成网络服务任务的初始化的具体流程为:控制主线程根据不同的网络请求通过绑定IP与端口,创建各种不同的网络服务任务;

控制主线程为每个网络服务任务绑定相应的网络请求回调函数;控制主线程完成上述网络服务任务的初始化后,调用用于实现主线程等待的等待函数,保持主线程自身不退出。