[发明专利]Java线程池的任务处理方法、装置、设备和介质有效
申请号: | 202110455550.2 | 申请日: | 2021-04-26 |
公开(公告)号: | CN113220429B | 公开(公告)日: | 2022-05-20 |
发明(设计)人: | 朱文魁 | 申请(专利权)人: | 武汉联影医疗科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/445;G06F9/50 |
代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 吴娜娜 |
地址: | 430206 湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | java 线程 任务 处理 方法 装置 设备 介质 | ||
本申请涉及一种Java线程池的任务处理方法、装置、计算机设备和存储介质。所述方法包括:在接收到目标任务的情况下,判断线程池是否满负荷;目标任务为预设的任务集中的任务;若线程池满负荷,根据线程池对应的缓冲队列数的目标值、线程池对应的目标线程数和任务集对应的最小任务耗时,确定执行目标任务所需的等待时间;其中,最小任务耗时为任务集对应的各任务的任务耗时中的最小值;在等待时间到达时,控制主线程添加目标任务到线程池中。采用本方法能够避免因主线程执行任务阻塞时间过长,线程池线程处于空闲状态而造成的资源浪费。
技术领域
本申请涉及数据处理技术领域,特别是涉及一种Java线程池的任务处理方法、装置、计算机设备和存储介质。
背景技术
在Java中创建和销毁线程会消耗大量的时间和资源,因此,在处理多任务的情况下会选择使用线程池技术,将创建的线程缓存下来,有新的任务到来时候直接执行而无需再新创建线程。通常,当新的任务添加至线程池时,若线程池中无空闲工作线程且缓冲队列已满的情况下,将判断线程池中的线程数是否达到最大线程数,如果没有达到最大线程数,则新启动线程来执行任务,如果已经达到最大线程数,则通过相应的拒绝策略来处理这些任务。
传统技术中,常用的拒绝策略为调用者运行策略,在使用这种拒绝策略的情况下,当线程池达到最大线程数且缓冲队列已满的情况下,则由主线程来执行任务,这样再有新任务来的时候,即使其他线程已经空闲了,但是由于主线程正在执行任务,处于忙碌状态,无法分配新任务到当前线程池。
因此,传统的Java线程池拒绝策略的执行方法,存在资源浪费的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低Java线程池拒绝策略执行中资源浪费的Java线程池的任务处理方法、装置、计算机设备和存储介质。
一种Java线程池的任务处理方法,所述方法包括:
在接收到目标任务的情况下,判断线程池是否满负荷;所述目标任务为预设的任务集中的任务;
若所述线程池满负荷,根据所述线程池对应的缓冲队列数的目标值、所述线程池对应的目标线程数和所述任务集对应的最小任务耗时,确定执行所述目标任务所需的等待时间;其中,所述最小任务耗时为所述任务集对应的各任务的任务耗时中的最小值;
在所述等待时间到达时,控制主线程添加所述目标任务到线程池中。
在其中一个实施例中,所述根据所述线程池对应的缓冲队列数的目标值、所述线程池对应的目标线程数和所述任务集对应的最小任务耗时,确定执行所述目标任务所需的等待时间,包括:
根据所述线程池对应的缓冲队列数的目标值、所述线程池对应的目标线程数和所述最小任务耗时,确定出第一目标时间;所述第一目标时间为执行完所述线程池对应的缓冲队列所需的时间;
根据第一目标时间和所述最小任务耗时,确定执行所述目标任务所需的等待时间。
在其中一个实施例中,所述目标任务所需的等待时间与第二目标时间线性相关;其中,所述第二目标时间为所述第一目标时间与所述最小任务耗时之和。
在其中一个实施例中,所述第一目标时间与所述线程池对应的缓冲队列数的目标值、所述线程池对应的目标线程数、所述最小任务耗时均线性相关。
在其中一个实施例中,所述判断线程池是否满负荷,包括:
若所述线程池中当前执行任务的线程数达到所述目标线程数,且所述线程池的缓冲队列数达到所述目标值,则确定所述线程池满负荷。
在其中一个实施例中,所述线程池对应的缓冲队列数的目标值为根据所述线程池对应的预设缓冲队列数与预设阈值所确定的。
在其中一个实施例中,所述预设阈值与所述线程池对应的预设缓冲队列数线性相关。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉联影医疗科技有限公司,未经武汉联影医疗科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110455550.2/2.html,转载请声明来源钻瓜专利网。