调整线程池的方法、控制设备、可读存储介质及程序产品与流程
- 国知局
- 2024-12-06 12:39:43
本申请属于通信,具体涉及一种调整线程池的方法、控制设备、可读存储介质及程序产品。
背景技术:
1、线程池是一种线程管理和使用模式。线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了线程使用中频繁的创建和销毁线程所带来的资源消耗与代价。
2、相关技术中,针对线程池的使用通常采用如下方式:对线程池所在的服务器或虚拟机的资源进行监控,并根据该服务器或虚拟机的资源使用情况,调整线程池的线程数。但在微服务架构下,一个服务节点通常要调用其他服务来完成请求;在调用其他服务的过程中,当前线程要等待网络io的完成,处于阻塞状态,而处于阻塞状态下的线程并不占用中央处理器(central processing unit,cpu)、内存、磁盘等系统资源。这种情况下,如果根据线程池所在的服务器或虚拟机的资源使用情况来调整线程池,由于处于阻塞状态的已执行线程并不占用系统资源,将会导致无法合理地调整线程池。
技术实现思路
1、本申请实施例的目的是提供一种调整线程池的方法、控制设备、可读存储介质及程序产品,以解决相关技术中无法合理地调整线程池的问题。
2、为了解决上述技术问题,本申请是这样实现的:
3、第一方面,提供了一种调整线程池的方法,包括:
4、推测执行完第一任务的剩余部分所需的第一处理时长和第一等待时长,所述第一任务包括已调用线程池中线程的至少一个任务;
5、推测执行第二任务所需的第二处理时长和第二等待时长,所述第二任务包括任务等待队列中待执行的至少一个任务;
6、根据所述第一处理时长、所述第一等待时长、所述第二处理时长和所述第二等待时长,对所述线程池的线程数进行调整。
7、第二方面,提供了一种调整线程池的装置,包括:
8、第一推测模块,用于推测执行完第一任务的剩余部分所需的第一处理时长和第一等待时长,所述第一任务包括已调用线程池中线程的至少一个任务;
9、第二推测模块,用于推测执行第二任务所需的第二处理时长和第二等待时长,所述第二任务包括任务等待队列中待执行的至少一个任务;
10、调整模块,用根据所述第一处理时长、所述第一等待时长、所述第二处理时长和所述第二等待时长,对所述线程池的线程数进行调整。
11、第三方面,提供了一种控制设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
12、第四方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
13、第五方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如第一方面所述的方法的步骤。
14、在本申请实施例中,通过推测执行完第一任务的剩余部分所需的第一处理时长和第一等待时长,所述第一任务包括已调用线程池中线程的至少一个任务,和推测执行第二任务所需的第二处理时长和第二等待时长,所述第二任务包括任务等待队列中待执行的至少一个任务,并根据所述第一处理时长、第一等待时长、第二处理时长和第二等待时长,对线程池的线程数进行调整,可以结合传入线程池的任务执行情况和任务等待队列中任务的执行情况,较准确的评估出后续一段时间的负载情况,从而合理地调整线程池。
技术特征:1.一种调整线程池的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述执行每类任务所需的第三处理时长和第三等待时长,推测执行完所述第一任务的剩余部分所需的第一处理时长和第一等待时长,包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述执行每类任务所需的第三处理时长和第三等待时长,推测执行所述第二任务所需的第二处理时长和第二等待时长,包括:
5.根据权利要求2至4任一项所述的方法,其特征在于,所述推测执行每类任务所需的第三处理时长和第三等待时长,包括:
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一处理时长、所述第一等待时长、所述第二处理时长和所述第二等待时长,对所述线程池的线程数进行调整,包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述最佳线程数,对所述线程池的线程数进行调整,包括以下任一项:
8.一种控制设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至7任一项所述的方法的步骤。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至7任一项所述的方法的步骤。
10.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至7任一项所述的方法的步骤。
技术总结本申请公开了一种调整线程池的方法、控制设备、可读存储介质及程序产品,属于通信技术领域。本申请实施例中的调整线程池的方法包括:推测执行完第一任务的剩余部分所需的第一处理时长和第一等待时长,所述第一任务包括已调用线程池中线程的至少一个任务;推测执行第二任务所需的第二处理时长和第二等待时长,所述第二任务包括任务等待队列中待执行的至少一个任务;根据所述第一处理时长、所述第一等待时长、所述第二处理时长和所述第二等待时长,对所述线程池的线程数进行调整。由此,可以结合传入线程池的任务执行情况和任务等待队列中任务的执行情况,较准确的评估出后续一段时间的负载情况,从而合理地调整线程池。技术研发人员:蒋昊受保护的技术使用者:咪咕文化科技有限公司技术研发日:技术公布日:2024/12/2本文地址:https://www.jishuxx.com/zhuanli/20241204/342456.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。