【技术实现步骤摘要】
线程池的管理方法及装置、电子设备
[0001]本专利技术涉及线程池
,尤其涉及一种线程池的管理方法及装置、电子设备。
技术介绍
[0002]线程池是一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。
[0003]目前,线程池存在一套通用的管理机制。在线程池的活跃线程数未达到最大线程数的情况下,若提交了新的待处理任务,可以不断的增加活跃线程数,以处理更多的任务,直至活跃线程数等于最大线程数。此时,若提交了新的待处理任务,需等待线程池存在空闲线程后,才可利用空闲线程执行新的待处理任务。
[0004]然而,当前线程池的管理机制在应对父子任务的处理场景时,可能导致父子任务进入到同一个线程池竞争线程资源,进而产生死锁的问题。
技术实现思路
[0005]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的线程池的管理方法及装置、电子设 ...
【技术保护点】
【技术特征摘要】
1.一种线程池的管理方法,其特征在于,所述方法包括:在检测到第一任务的情况下,从线程池调用链中确定执行第二任务的第一线程池,其中,所述线程池调用链为多个线程池组成的调用链,所述第一任务为执行所述第二任务过程中提交的子任务;选择所述线程池调用链中的第二线程池执行所述第一任务,其中,所述第二线程池于所述线程池调用链中的第一位置处于所述第一线程池于所述线程池调用链中的第二位置之后。2.根据权利要求1所述的方法,其特征在于,所述第一线程池和所述第二线程池在所述线程池调用链中相邻。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在所述线程池调用链中所述第一线程池之后不存在线程池的情况下,创建新的线程池,并添加至所述线程池调用链。4.根据权利要求1所述的方法,其特征在于,在所述从线程池调用链中确定执行第二任务的第一线程池之后,所述方法还包括:在所述第二线程池的活跃线程数等于最大线程数的情况下,向所述第二任务反馈执行失败信息。5.根据权利要求4所述的方法,其特征在于,在所述向所述第二任务反馈执行失败信息之后,所述方法还包括:针对所述第二线程池记录所述执行失败消息;周期性的检测针对所述线程池调用链中各线程池记录的所述执行失败消息;在检测到上一周期内针对所述第二线程池记录有所述执行失败消息的情况下,增大所述第二线程池的最大线程数。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:周期性的检测所述线程池调用链中各线程池的运行状况;在目标线程池的活跃线程数小于最大线程数的持续时长超过时长阈值的情况下,缩短所述目标线程池的存活时间,其中,所述目标线程池为所述线程池调用链中的线程池。7.根据权利要求6所述的方法,其特征在于,在所述周期性的检测所述线程池调用链中各线程池的运行状况之后,所述方法还包括:在目标线程池的活跃线程数小于最大线程数的持续时长未超过时长阈值的情况下,延长所述目标线程池的存活时间。8.一种线程池的管理装置,其特征在于,所述装置包括:管理模块,用于在检测到第一任务的情况下,从线程池调用链中确定执行第二任务的第一线程池,其中,所述线程池调用链为多个线程池组成的调用链,所述第一任务为执行...
【专利技术属性】
技术研发人员:李洋,
申请(专利权)人:北京五八信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。