The present invention provides a method and device for implementing thread pool, the method can include: pre created thread pool threads; according to the configuration parameters preset, creating the first number of threads, and the first number of threads and stored to the thread pool; when receiving the second volume of the mission, for each of the tasks to be performed, to determine a current in the idle state of the target thread from the thread pool; the transfer of the target thread to the execution of the current mission; when the target thread satisfies the preset condition of recovery, release the target thread resources, the target thread recovery to the thread pool. This scheme can improve the efficiency of the processing task.
【技术实现步骤摘要】
一种线程池实现方法及装置
本专利技术涉及计算机
,特别涉及一种线程池实现方法及装置。
技术介绍
随着互联网技术的不断发展,用户对于服务器处理能力的要求越来越高。例如,在某一时刻,服务器可能接收到多个任务,那么如何处理这些任务成为技术人员比较关注的问题。目前,服务器每一次接收到任务时,均会为每一个任务依次创建一个线程,然后利用创建的线程执行任务,最终在执行任务后销毁线程。然而,如果每一次接收到的任务较多,那么每一次为每一个任务分别创建一个线程的处理方式将会花费大量的时间,从而造成处理任务的效率较低。
技术实现思路
本专利技术实施例提供了一种线程池实现方法及装置,能够提高处理任务的效率。第一方面,本专利技术实施例提供了一种线程池实现方法,预先创建线程池;根据预设的线程配置参数,创建第一数量的线程,并将所述第一数量的线程存储至所述线程池中;还包括:当接收到第二数量的待执行任务时,针对每一个所述待执行任务,从所述线程池中确定一个当前处于空闲状态的目标线程;调取所述目标线程执行当前待执行任务;当所述目标线程满足预设的回收条件时,释放所述目标线程占用的资源,将所述目标线程回 ...
【技术保护点】
一种线程池实现方法,其特征在于,预先创建线程池;根据预设的线程配置参数,创建第一数量的线程,并将所述第一数量的线程存储至所述线程池中;还包括:当接收到第二数量的待执行任务时,针对每一个所述待执行任务,从所述线程池中确定一个当前处于空闲状态的目标线程;调取所述目标线程执行当前待执行任务;当所述目标线程满足预设的回收条件时,释放所述目标线程占用的资源,将所述目标线程回收到所述线程池中。
【技术特征摘要】
1.一种线程池实现方法,其特征在于,预先创建线程池;根据预设的线程配置参数,创建第一数量的线程,并将所述第一数量的线程存储至所述线程池中;还包括:当接收到第二数量的待执行任务时,针对每一个所述待执行任务,从所述线程池中确定一个当前处于空闲状态的目标线程;调取所述目标线程执行当前待执行任务;当所述目标线程满足预设的回收条件时,释放所述目标线程占用的资源,将所述目标线程回收到所述线程池中。2.根据权利要求1所述的方法,其特征在于,所述线程配置参数,包括:最大线程数和增量数;所述从所述线程池中确定一个当前处于空闲状态的目标线程,包括:判断所述线程池中是否存在有当前处于空闲状态的线程,若是,则将当前处于空闲状态的任意一个线程确定为目标线程;若否,则执行,S1:判断当前已创建的线程的数量是否达到所述最大线程数,若是,则执行S2;若否,则执行S3;S2:将所述当前待执行任务存储至预设的任务队列中;S3:创建数量为所述增量数的线程,并存储至所述线程池中;S4:将数量为所述增量数的线程中的任意一个确定为目标线程。3.根据权利要求2所述的方法,其特征在于,在所述S2之后,进一步包括:实时检测是否有回收到所述线程池中且当前处于空闲状态的线程;当检测到存在有回收到所述线程池中且当前处于空闲状态的线程时,将所述线程确定为目标线程。4.根据权利要求1所述的方法,其特征在于,所述线程配置参数,包括:时间阈值;所述调取所述目标线程执行当前待执行任务,包括:调取所述目标线程执行所述当前待执行任务,并开始计时;所述当所述目标线程满足预设的回收条件时,释放所述目标线程占用的资源,将所述目标线程回收到所述线程池中,包括:确定计时是否达到所述时间阈值;若是,则强制释放所述目标线程占用的资源,强制将所述目标线程回收到所述线程池中;若否,则实时检测所述目标线程是否执行完成所述当前待执行任务,当所述目标线程执行完成所述当前待执行任务时,释放所述目标线程占用的资源,将所述目标线程回收到所述线程池中。5.根据权利要求1-4任一所述的方法,其特征在于,进一步包括:记录并缓存每一个所述目标线程执行每一个所述待执行任务的执行信息;所述针对每一个所述待执行任务,从所述线程池中确定一个当前处于空闲状态的目标线程,包括:在缓存的各个所述执行信息中,确定是否存在与所述当前待执行任务相对应的目标执行信息;当确定存在所述目标执行信息时,根据所述目标执行信息,确定相对应的第一目标线程;判断所述第一目标线程当前是否处于空闲状态,当判断出所述第一目标线程当前处于空闲状态时,将所述第一目标线程确定为目标线程;和/或,在所述预先创建线程池之前,进一步包括:封装一个关闭所述线程池的公共模型;进一步包括:当检测到系统结束时,利用封装的所述公共模型销毁已创建的...
【专利技术属性】
技术研发人员:董梁,
申请(专利权)人:山东浪潮通软信息科技有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。