[发明专利]一种线程池实现方法及装置在审
申请号: | 201710718751.0 | 申请日: | 2017-08-21 |
公开(公告)号: | CN107463439A | 公开(公告)日: | 2017-12-12 |
发明(设计)人: | 董梁 | 申请(专利权)人: | 山东浪潮通软信息科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 李世喆 |
地址: | 250100 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 线程 实现 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种线程池实现方法及装置。
背景技术
随着互联网技术的不断发展,用户对于服务器处理能力的要求越来越高。例如,在某一时刻,服务器可能接收到多个任务,那么如何处理这些任务成为技术人员比较关注的问题。
目前,服务器每一次接收到任务时,均会为每一个任务依次创建一个线程,然后利用创建的线程执行任务,最终在执行任务后销毁线程。然而,如果每一次接收到的任务较多,那么每一次为每一个任务分别创建一个线程的处理方式将会花费大量的时间,从而造成处理任务的效率较低。
发明内容
本发明实施例提供了一种线程池实现方法及装置,能够提高处理任务的效率。
第一方面,本发明实施例提供了一种线程池实现方法,预先创建线程池;
根据预设的线程配置参数,创建第一数量的线程,并将所述第一数量的线程存储至所述线程池中;还包括:
当接收到第二数量的待执行任务时,针对每一个所述待执行任务,从所述线程池中确定一个当前处于空闲状态的目标线程;
调取所述目标线程执行当前待执行任务;
当所述目标线程满足预设的回收条件时,释放所述目标线程占用的资源,将所述目标线程回收到所述线程池中。
优选地,
所述线程配置参数,包括:最大线程数和增量数;
所述从所述线程池中确定一个当前处于空闲状态的目标线程,包括:
判断所述线程池中是否存在有当前处于空闲状态的线程,若是,则将当前处于空闲状态的任意一个线程确定为目标线程;若否,则执行,
S1:判断当前已创建的线程的数量是否达到所述最大线程数,若是,则执行S2;若否,则执行S3;
S2:将所述当前待执行任务存储至预设的任务队列中;
S3:创建数量为所述增量数的线程,并存储至所述线程池中;
S4:将数量为所述增量数的线程中的任意一个确定为目标线程。
优选地,
在所述S2之后,进一步包括:
实时检测是否有回收到所述线程池中且当前处于空闲状态的线程;
当检测到存在有回收到所述线程池中且当前处于空闲状态的线程时,将所述线程确定为目标线程。
优选地,
所述线程配置参数,包括:时间阈值;
所述调取所述目标线程执行当前待执行任务,包括:
调取所述目标线程执行所述当前待执行任务,并开始计时;
所述当所述目标线程满足预设的回收条件时,释放所述目标线程占用的资源,将所述目标线程回收到所述线程池中,包括:
确定计时是否达到所述时间阈值;
若是,则强制释放所述目标线程占用的资源,强制将所述目标线程回收到所述线程池中;
若否,则实时检测所述目标线程是否执行完成所述当前待执行任务,当所述目标线程执行完成所述当前待执行任务时,释放所述目标线程占用的资源,将所述目标线程回收到所述线程池中。
优选地,
进一步包括:
记录并缓存每一个所述目标线程执行每一个所述待执行任务的执行信息;
所述针对每一个所述待执行任务,从所述线程池中确定一个当前处于空闲状态的目标线程,包括:
在缓存的各个所述执行信息中,确定是否存在与所述当前待执行任务相对应的目标执行信息;当确定存在所述目标执行信息时,根据所述目标执行信息,确定相对应的第一目标线程;判断所述第一目标线程当前是否处于空闲状态,当判断出所述第一目标线程当前处于空闲状态时,将所述第一目标线程确定为目标线程;
优选地,
在所述预先创建线程池之前,进一步包括:
封装一个关闭所述线程池的公共模型;
进一步包括:当检测到系统结束时,利用封装的所述公共模型销毁已创建的各个所述线程以及所述线程池。
第二方面,本发明实施例提供了一种线程池实现装置,包括:
创建单元,用于预先创建线程池;根据预设的线程配置参数,创建第一数量的线程,并将所述第一数量的线程存储至所述线程池中;
确定单元,用于当接收到第二数量的待执行任务时,针对每一个所述待执行任务,从所述线程池中确定一个当前处于空闲状态的目标线程;
调取单元,用于调取所述目标线程执行当前待执行任务;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮通软信息科技有限公司,未经山东浪潮通软信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710718751.0/2.html,转载请声明来源钻瓜专利网。