[发明专利]一种多任务并发执行方法、存储介质、设备及系统有效
申请号: | 201710932652.2 | 申请日: | 2017-10-10 |
公开(公告)号: | CN109660569B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 何绍富;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F9/54 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 张雯俐 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 并发 执行 方法 存储 介质 设备 系统 | ||
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中任一项所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710932652.2/1.html,转载请声明来源钻瓜专利网。