[发明专利]线程池扩容方法、装置、服务器、介质及产品在审
申请号: | 202110291710.4 | 申请日: | 2021-03-18 |
公开(公告)号: | CN113064705A | 公开(公告)日: | 2021-07-02 |
发明(设计)人: | 邵帅 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 刘乐 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 线程 扩容 方法 装置 服务器 介质 产品 | ||
本公开提供了线程池扩容方法、装置、服务器、介质及产品,若第一线程池中存在对应的待执行任务数目大于或等于第一阈值的目标第一线程,则目标第一线程对应的目标队列存储的具有相同属性标识的多个任务执行时间可能较长,所以第一线程池需要扩容,本公开不是对第一线程池整体进行扩容,而是针对目标第一线程对应的目标队列进行扩容,即获取第二线程池包含的至少一个第二线程,由于第二线程和目标第一线程能够从目标队列中依次获取任务并处理,即第二线程和目标第一线程可以并行处理任务,所以目标队列存储的任务能够被快速处理,从而缩短了目标队列中存储的具有相同属性标识的多个任务的执行时间。
技术领域
本公开涉及计算机技术领域,尤其涉及线程池扩容方法、装置、服务器、介质及产品。
背景技术
亲缘性线程池包括多个线程,不同线程对应不同队列,在亲缘性线程池中具有相同属性标识的多个任务存储在同一队列中,不同队列存储的任务具有的属性标识不同,每个线程能够从与其对应的队列中取出任务并处理,不同的队列存储的任务数目可能相差较大,对于存储任务的数目较多的队列而言,其存储的具有相同属性标识的多个任务的执行时间可能较长。
因此,如何减小具有相同属性标识的多个任务的执行时间,是本领域技术人员需要解决的难题。
发明内容
本公开提供一种线程池扩容方法、装置、服务器、介质及产品,以至少解决相关技术中减小具有相同属性标识的多个任务的执行时间问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种线程池扩容方法,包括:
获取第一线程池包含的多个第一线程分别对应的待执行任务数目,所述第一线程对应的待执行任务数目为所述第一线程对应的队列存储的任务的数目;
从多个所述第一线程中确定对应的所述待执行任务数目大于或等于第一阈值的目标第一线程;
获取第二线程池包含的至少一个第二线程,所述第一线程池不同于所述第二线程池;
通过所述至少一个第二线程与所述目标第一线程轮流从所述目标第一线程对应的队列中取出任务;
通过所述至少一个第二线程与所述目标第一线程按照从所述目标第一线程对应的队列中取出任务的顺序输出自身处理的任务对应的结果。
结合第一方面,在第一种可能实现方式中,所述从多个所述第一线程中确定对应的所述待执行任务数目大于或等于第一阈值的目标第一线程步骤包括:
从多个所述第一线程分别对应的所述待执行任务数目中确定第一最小待执行任务数目;
基于所述第一最小待执行任务数目,确定所述第一阈值;
从多个所述第一线程中,确定对应的所述待执行任务数目大于或等于所述第一阈值且大于或等于第二阈值的目标第一线程。
结合第一方面,在第二种可能实现方式中,所述获取第二线程池包含的至少一个第二线程步骤包括:
控制所述第二线程池创建所述至少一个第二线程;或,
从所述第二线程池中获取已创建的处于空闲状态的所述至少一个第二线程。
结合第一方面,在第三种可能实现方式中,在所述获取第二线程池包含的至少一个第二线程之后,还包括:
从所述第二线程池中移出所述至少一个第二线程;或,
将所述第二线程池包含的所述至少一个第二线程的线程状态由空闲状态切换至非空闲状态。
结合第一方面,在第四种可能实现方式中,还包括:
获取当前时间所述目标第一线程对应的待执行任务数目;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110291710.4/2.html,转载请声明来源钻瓜专利网。