[发明专利]一种调整线程数的方法及装置有效
申请号: | 201810997799.4 | 申请日: | 2018-08-29 |
公开(公告)号: | CN109271252B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 李鹏 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 冯艳莲 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 调整 线程 方法 装置 | ||
一种调整线程数的方法及装置,用以实现根据任务数量对线程数量的动态调整,以达到快速处理任务和节省资源之间的动态平衡。该方法包括:采集第一数量和第二数量,所述第一数量为线程池的任务队列中任务的数量,所述第二数量为所述线程池中线程的数量,所述线程用于处理所述任务,根据所述第一数量和所述第二数量,确定所述线程池的状态,所述状态包括空闲状态或繁忙状态,所述空闲状态为所述第一数量小于所述第二数量的状态,所述繁忙状态为所述第一数量大于所述第二数量的状态,若确定所述线程池的状态为繁忙状态,则增加所述线程池中线程的数量,若确定所述线程池的状态为空闲状态,则减少所述线程池中线程的数量。
技术领域
本申请涉及计算机技术领域,尤其涉及一种调整线程数的方法及装置。
背景技术
目前,针对多任务同时处理可采用线程池技术,在同一时刻利用不同线程处理不同任务,达到同时处理多个任务的目的。采用线程池技术,在初始化时可在线程池中创建多个线程和一个任务队列,当有多个任务需要执行时,会将多个任务推入到任务队列中,并从线程池中选择多个空闲的线程分别执行多个任务,当该多个任务执行完毕后,将执行该多个任务的多个线程的状态置为空闲,并将该多个线程再放入线程池中,以使其可以被派发执行新的任务。
现有技术中,线程池初始化之后创建的线程数量是固定值。当任务队列中任务较少,线程池中存在较多空闲线程时,会导致线程资源的浪费,反之,当任务队列中任务较多,线程池中空闲线程不足时,又会导致任务处理速度变慢。
发明内容
本申请实施例提供一种调整线程数的方法及装置,用以实现根据任务数量对线程数量的动态调整,以达到快速处理任务和节省资源之间的动态平衡。
第一方面,本申请实施例提供一种调整线程数的方法,该方法包括:采集第一数量和第二数量,第一数量为线程池的任务队列中任务的数量,第二数量为线程池中线程的数量,线程用于处理任务,在采集到第一数量和第二数量之后,可根据第一数量和第二数量确定线程池的状态,该状态包括空闲状态或繁忙状态,空闲状态为第一数量小于第二数量的状态,繁忙状态为第一数量大于第二数量的状态,若确定线程池的状态为繁忙状态,则增加线程池中线程的数量,若确定线程池的状态为空闲状态,则减少线程池中线程的数量。
通过上述方法,可根据线程池中任务数量和线程数量确定线程池的状态,进而根据线程池的状态动态调整线程的数量,以使线程池中任务数量与线程数量均衡,从而达到快速处理任务和节省资源之间的动态平衡。
在一种可能的设计中,在第一数量和第二数量的比值小于第一预设值时,则可以确定线程池的状态为空闲状态,在第一数量和第二数量的比值大于第二预设值时,则可以确定线程池的状态为繁忙状态,其中,第一预设值为小于或等于1的正数,第二预设值为大于或等于1的正数。通过第一预设值和第二预设值确定线程池的状态,可以较为合理的划分线程池的空闲状态和繁忙状态。
在一种可能的设计中,可将繁忙状态进一步细分为一级繁忙状态、二级繁忙状态以及三级繁忙状态。在该种设计中,若比值大于第二预设值且小于第三预设值,则可以确定线程池的状态为一级繁忙状态,若比值大于等于第三预设值且小于第四预设值,则可以确定线程池的状态为二级繁忙状态,若比值大于或等于第四预设值,则可以确定线程池的状态为三级繁忙状态,其中,第三预设值为大于第二预设值的正数,第四预设值为大于第三预设值的正数。这样,后续可根据线程池的繁忙状态进一步确定线程池的繁忙程度,以便做出合理决策。
其中,上述第一预设值、第二预设值、第三预设值和第四预设值可以根据预先学习经验确定,或者通过各种仿真模拟方式来确定,本申请不做限定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810997799.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种通过约束来调度节点机的方法
- 下一篇:一种资源调配方法、装置及系统