一种动态线程控制系统技术方案

技术编号:39740599 阅读:16 留言:0更新日期:2023-12-17 23:41
本申请提供了一种动态线程控制系统,涉及线程控制技术领域,所述系统包括:管理端,用于对客户端的线程配置进行管理;动态配置管理端,用于从所述管理端拉取最新线程配置,将所述最新线程配置与当前线程配置进行对比,在所述最新线程配置与所述当前线程配置不一致的情况下,将所述最新线程配置推送给所述客户端;所述客户端,用于根据所述最新线程配置,管理线程池的线程资源

【技术实现步骤摘要】
一种动态线程控制系统


[0001]本申请涉及线程控制
,特别是一种动态线程控制系统


技术介绍

[0002]随着计算机行业的飞速发展,多核
CPU
成为主流

线程是
CPU
调度的基本单位,是被系统独立调度和分派的基本单位

为了充分利用计算机多核
CPU
资源,主流的操作系统都提供了操作线程的相关方法,通过使用线程来进行任务调度,并提供相应的接口来管理线程

[0003]然而,在多线程环境下,系统不能够确定在任意时刻中,有多少任务需要执行,有多少资源需要投入,所以难以实现有效的线程资源管理

具体的额,申请线程相应的资源会浪费大量的计算机
CPU
资源,每个线程的制作和销毁都需要时间,如果任务比较简单的话,制作和销毁线程消耗的资源可能比线程执行任务本身的消耗的资源都还要大

并且,过多的线程占用过多的内存以及缓存资源,线程间不停的进行上下文切换的同时,系统也会变的不稳定

[0004]因此,有必要开发一种动态线程控制系统,以实现对线程资源的动态管理,提高线程资源利用率


技术实现思路

[0005]鉴于上述问题,本申请实施例提供了一种动态线程控制系统,以便克服上述问题或者至少部分地解决上述问题

[0006]本申请实施例的第一方面,提供了一种动态线程控制系统,包括:管理端,用于对客户端的线程配置进行管理;动态配置管理端,用于从所述管理端拉取最新线程配置,将所述最新线程配置与当前线程配置进行对比,在所述最新线程配置与所述当前线程配置不一致的情况下,将所述最新线程配置推送给所述客户端;所述客户端,用于根据所述最新线程配置,管理线程池的线程资源

[0007]在一种可选的实施方式中,所述客户端包括:配置监听模块,用于监听所述动态配置管理端,以实时接收所述动态配置管理端推送的所述最新线程配置;线程创建模块,用于根据所述最新线程配置,创建线程;线程销毁模块,用于根据所述最新线程配置,销毁线程;配置修改模块,用于根据所述最新线程配置,修改线程配置和线程参数

[0008]在一种可选的实施方式中,所述管理端包括:创建模块,用于根据用户触发的创建操作,创建新的线程配置;删除模块,用于根据用户触发的删除操作,删除指定的线程配置;修改模块,用于根据用户触发的修改操作,修改指定的线程配置;查看模块,用于根据用户触发的查看操作,显示指定的线程配置

[0009]在一种可选的实施方式中,所述客户端包括任务管理模块和线程管理模块;所述任务管理模块,用于根据接收到的用户请求,生成待分配任务;所述线程管理模块,用于根据所述线程池的情况,为所述待分配任务分配线程

[0010]在一种可选的实施方式中,所述根据所述线程池的情况,为所述待分配任务分配线程,包括:在所述线程池中存在空闲线程的情况下,从所述空闲线程中申请线程执行所述待分配任务;在所述线程池中不存在空闲线程,并且,缓冲队列中的待分配任务数量未达到预设饱和数量的情况下,将所述待分配任务添加至所述缓冲队列中;在所述线程池中不存在空闲线程,并且,所述缓冲队列中的待分配任务数量达到所述预设饱和数量的情况下,拒绝执行所述待分配任务

[0011]在一种可选的实施方式中,在存在多个所述待分配任务的情况下,所述线程管理模块根据所述线程池的情况和多个所述待分配任务的优先级,为所述待分配任务分配线程

[0012]在一种可选的实施方式中,所述线程管理模块,还用于回收所述线程池中的第一线程,所述第一线程表示超过第一时长未获取到任一待分配任务的线程

[0013]在一种可选的实施方式中,所述系统还包括:任务监控模块和操作监控模块;所述任务监控模块,用于按照应用粒度

线程粒度和任务粒度进行事务监控,记录所述线程池的任务执行信息,所述任务执行信息包括每个线程的任务执行情况

最大任务执行时间和平均任务执行时间;所述操作监控模块,用于监控所述客户端的创建线程

修改线程和删除线程的操作,并发送对应的操作通知至工作终端

[0014]在一种可选的实施方式中,所述线程管理模块还包括:申请子模块,用于根据所述任务执行信息,触发线程增加申请;停止状态判断子模块,用于在所述线程池处于停止状态的情况下,终止所述线程增加申请,在所述线程池未处于停止状态的情况下,维持所述线程增加申请;中间状态判断子模块,用于在所述线程池处于正在停止的中间状态的情况下,根据线程是否用于处理剩余任务,判断是否终止所述线程增加申请,在所述线程池未处于正在停止的中间状态的情况下,维持所述线程增加申请;线程数量确定子模块,用于根据所述线程增加申请,确定需要增加的线程数量;线程容量确定子模块,用于根据确定的所述需要增加的线程数量,判断增加后的总线程数量是否超出了预设的最大线程数量;在所述总线程数量超出了所述最大线程数量的情况下,终止所述线程增加申请;系统线程数确定子模块,用于在所述总线程数量未超出所述最大线程数量的情况下,判断所述总线程数量是否超出了系统核心数量,在所述总线程数量超出了所述系统核心数量的情况下,终止所述线程增加申请;线程登记子模块,用于在所述总线程数量未超出所述系统核心数量的情况下,对新增的线程进行登记,在线程登记成功的情况下,完成线程添加,终止所述线程增加申请;线程状态查询子模块,用于在线程登记失败的情况下,查询线程状态,在所述线程
状态未改变的情况下,重新执行所述线程数量确定子模块,在所述线程状态发生改变的情况下,重新执行所述停止状态判断子模块

[0015]在一种可选的实施方式中,所述系统还包括:操作日志,用于记录所述管理端的线程参数修改记录,所述操作记录至少包括修改时间

修改对象

修改前参数值;权限校验模块,用于校验用户在所述管理端的操作权限

[0016]本申请实施例提供了一种动态线程控制系统,该系统包括:管理端,用于对客户端的线程配置进行管理;动态配置管理端,用于从所述管理端拉取最新线程配置,将所述最新线程配置与当前线程配置进行对比,在所述最新线程配置与所述当前线程配置不一致的情况下,将所述最新线程配置推送给所述客户端;所述客户端,用于根据所述最新线程配置,管理线程池的线程资源

本申请实施例利用管理端,对客户端的线程配置进行统一管理

运维人员可以根据具体的计算机配置以及当前程序运行的状态,通过管理端的界面化操作修改相关参数,然后由动态配置管理端动态地从管理端拉取最新线程配置,再将最新线程配置与当前线程配置进行对比,如存在不一致,则推送给客户端,由客户端进行监听和更新,从而实现了对客户端的线程资源的动态调度和管理,提高了资本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种动态线程控制系统,其特征在于,所述系统包括:管理端,用于对客户端的线程配置进行管理;动态配置管理端,用于从所述管理端拉取最新线程配置,将所述最新线程配置与当前线程配置进行对比,在所述最新线程配置与所述当前线程配置不一致的情况下,将所述最新线程配置推送给所述客户端;所述客户端,用于根据所述最新线程配置,管理线程池的线程资源
。2.
根据权利要求1所述的动态线程控制系统,其特征在于,所述客户端包括:配置监听模块,用于监听所述动态配置管理端,以实时接收所述动态配置管理端推送的所述最新线程配置;线程创建模块,用于根据所述最新线程配置,创建线程;线程销毁模块,用于根据所述最新线程配置,销毁线程;配置修改模块,用于根据所述最新线程配置,修改线程配置和线程参数
。3.
根据权利要求1所述的动态线程控制系统,其特征在于,所述管理端包括:创建模块,用于根据用户触发的创建操作,创建新的线程配置;删除模块,用于根据用户触发的删除操作,删除指定的线程配置;修改模块,用于根据用户触发的修改操作,修改指定的线程配置;查看模块,用于根据用户触发的查看操作,显示指定的线程配置
。4.
根据权利要求1所述的动态线程控制系统,其特征在于,所述客户端包括任务管理模块和线程管理模块;所述任务管理模块,用于根据接收到的用户请求,生成待分配任务;所述线程管理模块,用于根据所述线程池的情况,为所述待分配任务分配线程
。5.
根据权利要求4所述的动态线程控制系统,其特征在于,所述根据所述线程池的情况,为所述待分配任务分配线程,包括:在所述线程池中存在空闲线程的情况下,从所述空闲线程中申请线程执行所述待分配任务;在所述线程池中不存在空闲线程,并且,缓冲队列中的待分配任务数量未达到预设饱和数量的情况下,将所述待分配任务添加至所述缓冲队列中;在所述线程池中不存在空闲线程,并且,所述缓冲队列中的待分配任务数量达到所述预设饱和数量的情况下,拒绝执行所述待分配任务
。6.
根据权利要求4所述的动态线程控制系统,其特征在于,在存在多个所述待分配任务的情况下,所述线程管理模块根据所述线程池的情况和多个所述待分配任务的优先级,为所述待分配任务分配线程
。7.
根据权利要求4所述的动态线程控制系统,其特征在于,所述线程管理模块,还用于回收所述线程池中的第一线程,所述第一线程表示超过第一时长未获取到任...

【专利技术属性】
技术研发人员:许京奕刁兴春李梓煜尹林茵
申请(专利权)人:北京大数据先进技术研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1