一种执行可分解任务的线程池实现方法技术

技术编号:44935505 阅读:20 留言:0更新日期:2025-04-12 01:13
本发明专利技术涉及一种执行可分解任务的线程池实现方法,包括以下步骤:S1定义属性:定义创建线程池所需要的属性,包括Task、Job、MAX_POOL_SIZE、MAX_Task_SIZE、BLOCK_TIME_OUT、TaskQueue、JobQueue、RunningTaskList、LastTaskIndex;S2初始化:S2.1:根据各所述属性来创建所述线程池,对各所述属性完成初始化,设置任务调度器、Task调度器、Job调度器;S2.2:在所述线程池中创建若干个线程,所述线程的数量为MAX_POOL_SIZE个,将所有线程放入线程数组中并启动;S3更新数组:每当有新Task提交时,即将其加入所述TaskQueue中;S4执行线程:通过任务调度器、Task调度器、Job调度器,实现获取子任务Job,予以执行;S5循环执行:子任务Job执行结束后,应当继续重复循环,故返回S3。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,具体来说,涉及一种执行可分解任务的线程池实现方法,其能够通过构建线程池来执行多个可分解任务。


技术介绍

1、在不同的编程语言和框架中,普遍存在线程池的实现方法。实现思路都是通过维护一定数量的线程,共享任务队列,线程执行完任务后并不销毁,可以重复从任务队列中获取任务执行,从而达到线程资源复用、提高并发效率的目的。但是这类线程池都是针对一系列独立的可执行任务,在实际业务场景中,还存在大量可分解任务的执行。可分解任务是指能够再次分解成子任务的执行单元。这类任务如果使用现在的线程池执行,如果以任务为单元进行执行,没有最大化地利用并发能力。如果以子任务为单位进行执行,又会失去父任务的状态管理。因此目前的线程池方法并不适合可分解任务的执行。

2、目前,市场上尚未有相关的解决方案。


技术实现思路

1、针对相关技术中的上述技术问题,本专利技术提出 一种执行可分解任务的线程池实现方法,能够克服现有技术存在的上述不足。

2、为实现上述技术目的,本专利技术的技术方案是这样实现的本文档来自技高网...

【技术保护点】

1.一种执行可分解任务的线程池实现方法,其特征在于,包括以下步骤:

2.根据权利要求1的线程池实现方法,其特征在于,所述S4中,所述任务调度器获取所述子任务Job的步骤如下:

3.根据权利要求2的线程池实现方法,其特征在于,所述S4.1中,所述Task调度器获取Task的步骤如下:

4.根据权利要求3的线程池实现方法,其特征在于,所述S4.1.3的步骤如下:

5.根据权利要求2的线程池实现方法,其特征在于,所述S4.3中,所述Job调度器获取Job的步骤如下:

6.根据权利要求1的线程池实现方法,其特征在于,MAX_POOL_S...

【技术特征摘要】

1.一种执行可分解任务的线程池实现方法,其特征在于,包括以下步骤:

2.根据权利要求1的线程池实现方法,其特征在于,所述s4中,所述任务调度器获取所述子任务job的步骤如下:

3.根据权利要求2的线程池实现方法,其特征在于,所述s4.1中,所述task调度器获取task的步骤如下:

4.根据权利要求3的线程池实现方法,其特征在于,所述s4.1.3的步骤如下:

5.根据权利要求2的线程池实现方法,其特征在于,所述s4.3中,所述job调度器获取job的步骤如下:

【专利技术属性】
技术研发人员:刘明谢水庚梁宏宇张春飞罗洪涛
申请(专利权)人:北京航天云路有限公司
类型:发明
国别省市:

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

1