[发明专利]一种网络请求调度方法、终端装置及存储介质在审
申请号: | 201811285341.2 | 申请日: | 2018-10-31 |
公开(公告)号: | CN111124655A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 张兴国 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 武汉河山金堂专利事务所(普通合伙) 42212 | 代理人: | 胡清堂;陈懿 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络 请求 调度 方法 终端 装置 存储 介质 | ||
本发明公开了一种网络请求调度方法、终端装置及存储介质,用于调度用户网络请求。本发明提供的方法包括:在应用程序启动时,通过自定义的任务调度器调度生成的网络请求;具体的,判断当前空闲线程队列是否为空,若不为空,则工作线程执行网络请求;若为空,则判断工作线程队列中线程数是否超过线程池大小,若未超过,则新建一个工作线程加入工作线程队列,并执行网络请求,若超过,则将网络请求加入任务队列;当工作线程任务执行完成,设置工作线程的过期时间。本发明可以大大减少线程执行对CPU的消耗和对网络带宽的占用,进而,使得所有网络请求可以得到快速有效的执行,保障应用程序快速正常的启动和使用。
技术领域
本发明涉及应用开发领域,尤其涉及一种网络请求调度方法、终端装置及存储介质。
背景技术
应用程序启动时,常常需要添加各种网络请求,这些网络请求一般会向服务器请求最新数据,在客户端加载。而应用启动时,如果有过多的网络请求并发,会大量占用CPU,致使网络请求超时。
当前的网络请求调度器,只能并发执行网络请求,每一网络请求新建一个线程进行请求工作,一旦网络请求操作过多,生成的线程数量也较多,这样CPU负担过重,导致部分网络请求超时,影响应用程序的正常使用。
发明内容
本发明实施例提供了一种网络请求调度方法、终端装置及存储介质,能够减少应用程序启动时对CPU的消耗,保证应用程序的正常启动。
在本发明实施例的第一方面,提供了一种网络请求调度方法,包括:
在应用程序启动时,通过自定义的任务调度器调度所述应用程序生成的网络请求;
具体的,判断当前空闲线程队列是否为空,若所述空闲线程队列不为空,则所述空闲线程队列中的工作线程执行所述网络请求;
若所述空闲线程队列为空,则判断当前工作线程队列中线程数是否超过预设的线程池大小,若线程数未超过预设的线程池大小,则新建一个工作线程,将新建的工作线程加入所述工作线程队列,并执行所述网络请求,若线程数超过预设的线程池大小,则将所述网络请求加入任务队列;
每当工作线程中的网络请求执行完成,将工作线程加入空闲队列,并设置加入空闲队列后的工作线程的过期时间;
其中,所述工作线程用于执行网络请求,所述空闲线程队列用于存放空闲的工作线程,所述工作线程队列用于工作线程的执行,所述任务队列用于存放等待执行网络请求。
在本发明实施例的第二方面,提供了一种终端装置,包括:
调度模块:用于在应用程序启动时,通过自定义的任务调度器调度所述应用程序生成的网络请求;
具体的,所述调度模块包括,
第一调度单元,用于判断当前空闲线程队列是否为空,若所述空闲线程队列不为空,则所述空闲线程队列中的工作线程执行所述网络请求;
第二调度单元,用于若所述空闲线程队列为空,则判断当前工作线程队列中线程数是否超过预设的线程池大小,若线程数未超过预设的线程池大小,则新建一个工作线程,将新建的工作线程加入所述工作线程队列,并执行所述网络请求,若线程数超过预设的线程池大小,则将所述网络请求加入任务队列;
第三调度单元,用于每当工作线程中的网络请求执行完成,将工作线程加入空闲队列,并设置加入空闲队列后的工作线程的过期时间。
在本发明实施例的第三方面,提供了一种终端装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例第一方面所述方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811285341.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:铝合金微弧氧化电解液、方法及其产品
- 下一篇:一种大风量低噪音燃气热水器