线程管理方法及装置制造方法及图纸

技术编号:13840019 阅读:77 留言:0更新日期:2016-10-16 06:47
本发明专利技术公开了一种线程管理方法,该方法流程包括:若接收到任务处理请求,则确定所述任务处理请求中包含的任务以及所述任务的任务类型和任务标识;判断线程池中是否有与所述任务类型匹配的空闲线程;若所述程池中没有与所述任务类型匹配的空闲线程,则根据所述任务标识确定所述任务的优先级权值;当所述优先级权值大于预设权值时,在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理。本发明专利技术还提出一种线程管理装置。本发明专利技术解决了现有技术中实时性要求高的任务被耽搁处理的技术问题。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种线程管理方法及装置
技术介绍
随着计算机技术的飞速发展,云计算逐步成为业界的聚焦点,各大企业已经加入了云计算的研究领域,并将云计算服务投入到科学、文化、教育、卫生、政府、电子商务、高性能计算、物联网等多个领域进行使用。目前,云数据中心管理平台通过建立线程池保证在接收到任务时,将该任务派发到该线程池中执行。线程有时被称为轻量级进程,是程序执行流的最小单元,一个标准的线程由线程ID、当前指令指针、寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以建立和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有空闲、阻塞和繁忙三种基本状态。在单个程序中经常会同时运行多个线程完成不同的任务,称为多线程,在系统开发过程中经常会用到多线程处理不同的任务事件,有一些任务在执行时对于实时性的要求并不高,但是执行时耗时较长,当线程池中的线程均处于繁忙状态时,只有在这些任务执行结束后,即在线程池空闲时才能够继续执行后续的其他任务,而后续所需执行的该其他任务可能对实时性具有一定要求,从而导致对实时性要求高的任务被耽搁。
技术实现思路
本专利技术提供一种线程管理方法及装置,其主要目的在于解决现有技术中实时性要求高的任务被耽搁处理的技术问题。为实现上述目的,本专利技术提供一种线程管理方法,该线程管理方法包括:若接收到任务处理请求,则确定所述任务处理请求中包含的任务以及所述任务的任务类型和任务标识;判断线程池中是否有与所述任务类型匹配的空闲线程;若所述程池中没有与所述任务类型匹配的空闲线程,则根据所述任务标识确定所述任务的优先级权值;当所述优先级权值大于预设权值时,在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理。可选地,所述在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理的步骤之前,所述线程管理方法还包括:当所述优先级权值大于预设权值时,判断所述线程池中的线程数目是否达到第一预设数目;若所述线程池中的预设数目未达到所述第一预设数目,则执行在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理的步骤;若所述线程池中的预设数目达到所述第一预设数目,则判断所述线程池的缓冲队列是否包括排队空间;若所述线程池的缓冲队列包括排队空间,将所述任务放入所述缓冲队列中,并将所述缓冲队列中的任务按照优先级权值由高到低的顺序进行排列。可选地,所述若所述程池中没有与所述任务类型匹配的空闲线程,则根据所述任务标识确定所述任务的优先级权值的步骤之后,所述线程管理方法还包括:当所述优先级权值小于或者等于所述预设权值时,判断所述线程池的缓冲队列是否包括排队空间;若所述线程池的缓冲队列包括排队空间,将所述任务放入所述缓冲队列中,并将所述缓冲队列中的任务按照优先级权值由高到低的顺序进行排列。可选地,所述当所述优先级权值大于预设权值时,在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理的步骤之后,所述线程管理方法还包括步骤:在所述线程池对应的线程状态管理列表中,将新建的所述线程的状态标
记为繁忙状态。可选地,所述线程管理方法还包括步骤:根据所述线程池对应的线程状态管理列表,实时监测所述线程池中各个线程的状态;当检测到有空闲线程时,判断所述线程池中当前的线程数量是否大于第二预设数目,其中,所述第二预设数目小于所述第一预设数目;若所述线程中当前的线程数量大于第二预设数目,则将检测到的所述空闲线程销毁。此外,为实现上述目的,本专利技术还提供一种线程管理装置,该线程管理装置包括:第一确定模块,用于若接收到任务处理请求,则确定所述任务处理请求中包含的任务以及所述任务的任务类型和任务标识;第一判断模块,用于判断线程池中是否有与所述任务类型匹配的空闲线程;第二确定模块,用于若所述程池中没有与所述任务类型匹配的空闲线程,则根据所述任务标识确定所述任务的优先级权值;任务处理模块,用于当所述优先级权值大于预设权值时,在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理。可选地,所述线程管理装置还包括:第二判断模块,用于当所述优先级权值大于预设权值时,判断所述线程池中的线程数目是否达到第一预设数目;所述任务处理模块,还用于若所述线程池中的预设数目未达到所述第一预设数目,则在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理;所述第二判断模块,还用于若所述线程池中的预设数目达到所述第一预设数目,则判断所述线程池的缓冲队列是否包括排队空间;所述任务处理模块,还用于若所述线程池的缓冲队列包括排队空间,将所述任务放入所述缓冲队列中,并将所述缓冲队列中的任务按照优先级权值
由高到低的顺序进行排列。可选地,所述第一判断模块,还用于当所述优先级权值小于或者等于所述预设权值时,判断所述线程池的缓冲队列是否包括排队空间;所述任务处理模块,还用于若所述线程池的缓冲队列包括排队空间,将所述任务放入所述缓冲队列中,并将所述缓冲队列中的任务按照优先级权值由高到低的顺序进行排列。可选地,所述线程管理装置还包括:状态标记模块,用于在所述线程池对应的线程状态管理列表中,将新建的所述线程的状态标记为繁忙状态。可选地,所述线程管理装置还包括:状态监测模块,用于根据所述线程池对应的线程状态管理列表,实时监测所述线程池中各个线程的状态;第三判断模块,用于当检测到有空闲线程时,判断所述线程池中当前的线程数量是否大于第二预设数目,其中,所述第二预设数目小于所述第一预设数目;线程销毁模块,用于若所述线程中当前的线程数量大于第二预设数目,则将检测到的所述空闲线程销毁。本专利技术提出的线程管理方法及装置,在接收到任务处理请求时,确定任务处理请求中包含的任务以及任务的任务类型和任务标识,并判断线程池中是否有与任务类型匹配的空闲线程,如果没有,则根据任务标识确定任务的优先级权值,当优先级权值大于预设权值时,说明该任务对实时性要求比较高,需要及时处理,此时,在线程池中新建与该任务类型匹配的线程,并将任务分配至新建的线程进行处理,本专利技术避免在没有空闲线程时,直接将任务放到缓冲队列中,能够保证优先级权值高的任务被优先处理,解决了现有技术中实时性要求高的任务被耽搁处理的技术问题。附图说明图1为本专利技术线程管理方法第一实施例的流程图;图2为本专利技术线程管理方法第四实施例的流程图;图3为本专利技术线程管理装置第一实施例的功能模块示意图;图4为本专利技术线程管理装置第四实施例的功能模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种线程管理方法。参照图1所示,为本专利技术线程管理方法第一实施例的流程图。在本实施例中,该线程管理方法包括:步骤S10,若接收到任务处理请求,则确定所本文档来自技高网
...

【技术保护点】
一种线程管理方法,其特征在于,所述线程管理方法包括:若接收到任务处理请求,则确定所述任务处理请求中包含的任务以及所述任务的任务类型和任务标识;判断线程池中是否有与所述任务类型匹配的空闲线程;若所述程池中没有与所述任务类型匹配的空闲线程,则根据所述任务标识确定所述任务的优先级权值;当所述优先级权值大于预设权值时,在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理。

【技术特征摘要】
1.一种线程管理方法,其特征在于,所述线程管理方法包括:若接收到任务处理请求,则确定所述任务处理请求中包含的任务以及所述任务的任务类型和任务标识;判断线程池中是否有与所述任务类型匹配的空闲线程;若所述程池中没有与所述任务类型匹配的空闲线程,则根据所述任务标识确定所述任务的优先级权值;当所述优先级权值大于预设权值时,在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理。2.根据权利要求1所述的线程管理方法,其特征在于,所述在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理的步骤之前,所述线程管理方法还包括:当所述优先级权值大于预设权值时,判断所述线程池中的线程数目是否达到第一预设数目;若所述线程池中的预设数目未达到所述第一预设数目,则执行在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理的步骤;若所述线程池中的预设数目达到所述第一预设数目,则判断所述线程池的缓冲队列是否包括排队空间;若所述线程池的缓冲队列包括排队空间,将所述任务放入所述缓冲队列中,并将所述缓冲队列中的任务按照优先级权值由高到低的顺序进行排列。3.根据权利要求1所述的线程管理方法,其特征在于,所述若所述程池中没有与所述任务类型匹配的空闲线程,则根据所述任务标识确定所述任务的优先级权值的步骤之后,所述线程管理方法还包括:当所述优先级权值小于或者等于所述预设权值时,判断所述线程池的缓冲队列是否包括排队空间;若所述线程池的缓冲队列包括排队空间,将所述任务放入所述缓冲队列
\t中,并将所述缓冲队列中的任务按照优先级权值由高到低的顺序进行排列。4.根据权利要求1所述的线程管理方法,其特征在于,所述当所述优先级权值大于预设权值时,在所述线程池中新建与所述任务类型匹配的线程,并将所述任务分配至新建的所述线程进行处理的步骤之后,所述线程管理方法还包括步骤:在所述线程池对应的线程状态管理列表中,将新建的所述线程的状态标记为繁忙状态。5.根据权利要求1至4中任一项所述的线程管理方法,其特征在于,所述线程管理方法还包括步骤:根据所述线程池对应的线程状态管理列表,实时监测所述线程池中各个线程的状态;当检测到有空闲线程时,判断所述线程池中当前的线程数量是否大于第二预设数目,其中,所述第二预设数目小于所述第一预设数目;若所述线程中当前的线程数量大于第...

【专利技术属性】
技术研发人员:张锐
申请(专利权)人:深圳市永兴元科技有限公司
类型:发明
国别省市:广东;44

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

1