一种避免阻塞的线程池模型及方法技术

技术编号:42676143 阅读:23 留言:0更新日期:2024-09-10 12:28
本发明专利技术涉及一种避免阻塞的线程池模型及方法,任务拆解器:对提交的任务进行拆解预处理,让任务变为子任务组;待执行缓存区:暂存待执行的子任务组,待执行缓存区有顺序性,可从头依次遍历,支持随机读取,但仅能末端写入;中断缓存区:暂存处于中断状态的子任务组,中断缓存区有顺序性,可从头依次遍历,支持随机读取,但仅能末端写入;选择器:从待执行缓存区和中断缓存区中按一定原则选取子任务组,交由执行线程执行。执行线程:与选择器一一绑定,负责执行选择器选取的子任务组。本发明专利技术使用中断缓存区暂存子任务组,让线程资源不会阻塞,提高执行效率;利用选择器进行子任务组选择和统筹,避免执行线程对任务的抢占,造成任务的乱序。

【技术实现步骤摘要】

本专利技术属于大数据领域,尤其涉及一种避免阻塞的线程池模型及方法


技术介绍

1、日志采集处理场景下,日志库管理着日志采集处理链路,统筹着底层相关资源。当日志采集处理链路需要调整时,底层资源也需进行相应的修改。这些修改操作往往是耗时的,需要长时间阻塞等待结果,以进行后续的操作。采用java已有线程池模型时会存在以下2个问题:

2、1.若有空闲线程便立即执行操作任务,如果存在多个操作任务是耗时操作,结束时间不可控,同一日志库的操作顺序会乱序;

3、2.线程池中线程是有限的,存在多个阻塞操作时,则可能占满所有线程,导致后续操作无论是否耗时,都需要排队等待执行,执行效率大幅下降。

4、因此,需改变java已有线程池模型,减少线程阻塞的发生,同时,保证同一日志库的操作不会乱序;本专利技术提出一种避免阻塞的线程池模型。


技术实现思路

1、鉴于以上现有技术的不足,专利技术的目的在于提供。

2、本专利技术的第一方面,提出了一种避免阻塞的线程池模型,包括:</p>

3、任务本文档来自技高网...

【技术保护点】

1.一种避免阻塞的线程池模型,其特征在于,包括:

2.根据权利要求1所述的一种避免阻塞的线程池模型,其特征在于,所述待执行缓存区有顺序性,能够从头依次遍历,支持随机读取。

3.根据权利要求2所述的一种避免阻塞的线程池模型,其特征在于,所述中断缓存区有顺序性,能够从头依次遍历,支持随机读取。

4.根据权利要求3所述的一种避免阻塞的线程池模型的使用方法,其特征在于,所述待执行缓存区和所述中断缓存区仅能末端写入。

5.一种避免阻塞的线程池模型的使用方法,其特征在于,基于权利要求1-4任一项所述的避免阻塞的线程池模型,所述方法包括:

6...

【技术特征摘要】

1.一种避免阻塞的线程池模型,其特征在于,包括:

2.根据权利要求1所述的一种避免阻塞的线程池模型,其特征在于,所述待执行缓存区有顺序性,能够从头依次遍历,支持随机读取。

3.根据权利要求2所述的一种避免阻塞的线程池模型,其特征在于,所述中断缓存区有顺序性,能够从头依次遍历,支持随机读取。

4.根据权利要求3所述的一种避免阻塞的线程池模型的使用方法,其特征在于,所述待执行缓存区和所述中断缓存区仅能末端写入。

5.一种避免阻塞的线程池模型的使用方法,其特征在于,基于权利要求1-4任一项所述的避免阻塞的线程池模型,所述方法包括:

6.根据权利要求5所述的一种避免阻塞的线程池模型的使用方法,其特征在于,所述步骤s1中子任务组关联一个实体id,并维持一个任务指针,指向第一个子...

【专利技术属性】
技术研发人员:冼啟铭
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1