本发明专利技术公开了一种线程管理方法,该方法包括:若接收到任务处理请求,则确定任务处理请求中包含的第一任务及第一任务的任务类型;利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理任务类型的第一线程,线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;若存在第一线程,则将第一任务分配给第一线程,由第一线程处理第一任务;在线程状态管理列表中将第一线程的状态由空闲状态修改为繁忙状态。本发明专利技术还公开了一种线程管理系统,通过利用线程状态管理列表对线程进行管理,使得能够实现线程的有序管理及任务的快速分配。
【技术实现步骤摘要】
本专利技术涉及计算机
,尤其涉及一种线程管理方法及系统。
技术介绍
随着计算机技术的飞速发展,云计算逐步成为业界的聚焦点,各大企业已经加入了云计算的研究领域,并将云计算服务投入到科学、文化、教育、卫生、政府、电子商务、高性能计算、物联网等多个领域进行使用。目前,云数据中心管理平台通过建立线程池,以保证在接收到任务时,将该任务派发到该线程池中执行。线程(thread),有时被称为轻量级进程(Light Weight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以建立和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有空闲、阻塞和繁忙三种基本状态。在单个程序中经常会同时运行多个线程完成不同的任务,称为多线程,在系统开发过程中经常会用到多线程处理不同的任务事件,然而,随着线程数量的增多,线程管理容易混乱。上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
本专利技术的主要目的在于提供一种线程管理方法及系统,旨在解决现有技术中随着线程数量的增多,线程管理容易混乱的技术问题。为实现上述目的,本专利技术提供的一种线程管理方法,所述方法包括:若接收到任务处理请求,则确定所述任务处理请求中包含的第一任务及所述第一任务的任务类型;利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理所述任务类型的第一线程,所述线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;若存在所述第一线程,则将所述第一任务分配给所述第一线程,由所述第一线程处理所述第一任务;在所述线程状态管理列表中将所述第一线程的状态由空闲状态修改为繁忙状态。优选地,所述方法还包括:当监测到所述第一线程处理完所述第一任务,则在所述线程状态管理列表中将所述第一线程的状态由繁忙状态修改为空闲状态。优选地,所述方法还包括:若不存在所述第一线程,则确定所述线程状态管理列表中已记录的线程的总个数;若所述已记录的线程的总个数小于预先设置的数值,则建立第二线程,所述第二线程具备处理所述第一任务的任务类型的能力;将所述第一任务分配给所述第二线程,由所述第二线程处理所述第一任务;将所述第二线程的标识、处理的任务类型及当前状态添加至所述线程状态管理列表中。优选地,所述方法还包括:若所述总个数大于或等于所述预先设置的数值,则将所述第一任务放入任务缓存列表中。优选地,所述线程状态管理列表中还包括线程上一次执行任务的时间;则所述方法还包括:若检测到所述线程状态管理列表中存在上一次执行任务的时间距离当前时间之间的差值大于预先设置的时长的第三线程,则销毁所述第三线程。为实现上述目的,本专利技术还提供一种线程管理系统,所述系统包括:第一确定模块,用于若接收到任务处理请求,则确定所述任务处理请求
中包含的第一任务及所述第一任务的任务类型;第二确定模块,用于利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理所述任务类型的第一线程,所述线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;第一分配模块,用于若存在所述第一线程,则将所述第一任务分配给所述第一线程,由所述第一线程处理所述第一任务;修改模块,用于在所述线程状态管理列表中将所述第一线程的状态由空闲状态修改为繁忙状态。优选地,所述修改模块还用于:当监测到所述第一线程处理完所述第一任务,则在所述线程状态管理列表中将所述第一线程的状态由繁忙状态修改为空闲状态。优选地,所述系统还包括:第三确定模块,用于若不存在所述第一线程,则确定所述线程状态管理列表中已记录的线程的总个数;建立模块,用于若所述已记录的线程的总个数小于预先设置的数值,则建立第二线程,所述第二线程具备处理所述第一任务的任务类型的能力;第二分配模块,用于将所述第一任务分配给所述第二线程,由所述第二线程处理所述第一任务;添加模块,用于将所述第二线程的标识、处理的任务类型及当前状态添加至所述线程状态管理列表中。优选地,所述系统还包括:缓存模块,用于若所述总个数大于或等于所述预先设置的数值,则将所述第一任务放入任务缓存列表中。优选地,所述线程状态管理列表中还包括线程上一次执行任务的时间;则所述系统还包括:销毁模块,用于若检测到所述线程状态管理列表中存在上一次执行任务的时间距离当前时间之间的差值大于预先设置的时长的第三线程,则销毁所述第三线程。本专利技术提供一种线程管理方法,该方法中:若接收到的任务处理请求,则确定该任务处理请求中包含的第一任务及该第一任务的任务类型,并利用
已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理该任务类型的第一线程,该线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;且若存在第一线程,则将该第一任务分配给第一线程,由第一线程处理该第一任务,且在线程状态管理列表中将该第一线程的状态由空闲状态修改为繁忙状态。通过利用线程状态管理列表对线程进行统一管理,使得能够实现任务分配及线程的有序管理。附图说明图1为本专利技术第一实施例中线程管理方法的流程示意图;图2为图1所示第一实施例中线程管理方法的追加步骤的细化流程示意图;图3为本专利技术第二实施例中线程管理系统的功能模块示意图;图4为本专利技术第三实施例中线程管理系统的功能模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。由于现有技术中随着线程数量的增多,任务分配变得复杂,且线程管理也容易混乱。请参阅图1,为本专利技术第一实施例中线程管理方法的流程示意图,该线程管理方法包括:步骤101、若接收到任务处理请求,则确定任务处理请求中包含的第一任务及第一任务的任务类型;步骤102、利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理任务类型的第一线程,线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;步骤103、若存在第一线程,则将第一任务分配给第一线程,由第一线程处理第一任务;步骤104、在线程状态管理列表中将第一线程的状态由空闲状态修改为繁忙状态。在本专利技术实施例中,线程管理系统能够实时对已有的线程池中的线程进行监测,并建立线程状态管理列表,在该线程状态管理列表中包含线程的标识、该线程能够处理的任务类型及当前状态。且线程管理系统能够基于监测到的线程的状态变化修改该线程在线程状态管理列表中的状态,使得该线程状态管理列表能够实时反映线程池中的各线程的状态。其中,线程状态管理列表中可以包括一个线程池中的线程,也可以包括多个线程池中的线程,在实际应用中根据具体的需要设置该线程状态管理列表的个数。其中,线程的状态包括空闲状态、繁忙状态及阻塞状态。一个线程一次仅能处理一个任务,因此,在对一个空闲状态的线程分配任务之后,该线程将立即处理该任务,且该线程的状态也将由空闲状态转变为本文档来自技高网...
【技术保护点】
一种线程管理方法,其特征在于,所述方法包括:若接收到任务处理请求,则确定所述任务处理请求中包含的第一任务及所述第一任务的任务类型;利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理所述任务类型的第一线程,所述线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;若存在所述第一线程,则将所述第一任务分配给所述第一线程,由所述第一线程处理所述第一任务;在所述线程状态管理列表中将所述第一线程的状态由空闲状态修改为繁忙状态。
【技术特征摘要】
1.一种线程管理方法,其特征在于,所述方法包括:若接收到任务处理请求,则确定所述任务处理请求中包含的第一任务及所述第一任务的任务类型;利用已设置的线程状态管理列表,确定是否存在处于空闲状态且能够处理所述任务类型的第一线程,所述线程状态管理列表中包含线程的标识、能够处理的任务类型及当前状态;若存在所述第一线程,则将所述第一任务分配给所述第一线程,由所述第一线程处理所述第一任务;在所述线程状态管理列表中将所述第一线程的状态由空闲状态修改为繁忙状态。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当监测到所述第一线程处理完所述第一任务,则在所述线程状态管理列表中将所述第一线程的状态由繁忙状态修改为空闲状态。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:若不存在所述第一线程,则确定所述线程状态管理列表中已记录的线程的总个数;若所述已记录的线程的总个数小于预先设置的数值,则建立第二线程,所述第二线程具备处理所述第一任务的任务类型的能力;将所述第一任务分配给所述第二线程,由所述第二线程处理所述第一任务;将所述第二线程的标识、处理的任务类型及当前状态添加至所述线程状态管理列表中。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述总个数大于或等于所述预先设置的数值,则将所述第一任务放入任务缓存列表中。5.根据权利要求1至4任意一项所述的方法,其特征在于,所述线程状态管理列表中还包括线程上一次执行任务的时间;则所述方法还包括:若检测到所述线程状态管理列表中存在上一次执行任务的时间距离当前时间之间的差值大于预先设置的时长的第三线程,则销毁所述第三线程。6.一种线程管理系统,其特征在于,所述系统包括:第一确定模块,用于若接收到任务处理请求,...
【专利技术属性】
技术研发人员:张锐,
申请(专利权)人:深圳市永兴元科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。