[发明专利]一种多线程任务处理方法、装置及电子设备有效
| 申请号: | 202010946007.8 | 申请日: | 2020-09-10 |
| 公开(公告)号: | CN112000455B | 公开(公告)日: | 2022-02-01 |
| 发明(设计)人: | 王明星;包明生;杨接康 | 申请(专利权)人: | 华云数据控股集团有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
| 代理公司: | 苏州友佳知识产权代理事务所(普通合伙) 32351 | 代理人: | 储振 |
| 地址: | 214000 江*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 多线程 任务 处理 方法 装置 电子设备 | ||
本发明提供了一种多线程任务处理方法、装置及电子设备,多线程任务处理方法包括为线程池的核心线程数设置初始化阈值范围;对输入线程池的任务过滤出IO密集型任务;采用轮询方式获取宿主机的指标数据,以确定线程池的核心线程数是否触发调整初始化阈值范围以得到当前阈值范围的事件;其中,是否触发调整初始化阈值范围的事件基于宿主机的指标数据予以确定,初始化阈值范围由核心线程数最大值与核心线程数最小值予以确定。通过本申请所揭示的技术方案,不仅提高了核心线程对多任务的响应能力,提高了基于线程池对IO密集型任务的响应能力,并能够有效地防止核心线程由于被频繁创建或者撤销所导致的不必要的计算开销。
技术领域
本发明涉及计算机技术领域,尤其涉及一种多线程任务处理方法、装置及电子设备。
背景技术
线程池作为线程(thread)的集合,线程池在系统启动时即创建大量空闲的线程,若程序将一个任务传给线程池,线程池就会启动一条线程来执行这个任务,执行结束以后,该线程并不会死亡,而是再次返回线程池中成为空闲状态,等待执行下一个任务。在云计算技术中,线程包含用户线程(User thread)与内核线程(Kernel thread),线程池保证内核线程的充分利用,并防止被过度调用,且能够支持高并发的任务响应。
现有技术中的线程池只能适应执行CPU密集型任务的场景,若当前线程数超过CPU的核心线程数时,线程池受限于宿主机中CPU的核心线程数的限制,因此不会额外增加核心线程,而是将线程排入队列中进行等待,以等待核心线程出现空闲时对该线程执行调用操作。然而,在云计算场景(例如云平台、Web系统、APP)中,存在大量的IO操作、读/写操作、迁移操作等非CPU密集型任务。但当核心线程数达到上限后,即使将任务放入队列则任务依然是阻塞的,此时需要等待核心线程结束且不被其他任务抢占时才能被继续执行。由此导致线程池中的核心线程利用率较低,且无法满足对高并发任务的及时响应,对软件系统或者云平台的稳定性也会造成一定的影响。
数据或者任务处理是CPU密集型任务,对数据或者任务执行接收或者发送操作是IO密集型任务。由于线程池中的核心线程规模(CorePoolSize)在线程池初始化时所包含的核心线程的数量是固定的。目前,为了提高对数据或者任务的并发处理能力,通常采用增加线程池中核心线程的技术手段予以实现。但是核心线程的数量配置过大则会导致系统或者云平台中CPU及内存效果过大。为了保证资源对系统或者云平台其他业务的合理响应,通常不能将CPU和/或内存的使用率分配给核心线程的使用率达到100%。现有技术中为了保证核心线程对任务的有效响应,通常为会为不同核心线程设置不同的优先级,以满足对不同任务的积极响应,具体参公开号为CN110502320A的中国发明专利公开本所示。同时,申请人指出如果过度无序的创建或者删除核心线程,必然导致不必要的计算开销,从而导致系统或者云平台的不稳定性,并会对用户体验造成一定的影响。
有鉴于此,有必要对现有技术中的多线程任务处理方法及其装置予以改进,以解决上述问题。
发明内容
本发明的目的在于揭示一种多线程任务处理方法、装置及电子设备,用以解决现有技术所存在的缺陷,尤其是为了提高核心线程对多任务的响应能力,并提高基于线程池对IO密集型任务的响应能力,并防止核心线程由于被频繁创建或者撤销所导致的不必要的计算开销。
为实现上述第一个发明目的,本发明提供了一种多线程任务处理方法,包括:
为线程池的核心线程数设置初始化阈值范围;
对输入线程池的任务过滤出IO密集型任务;
采用轮询方式获取宿主机的指标数据,以确定线程池的核心线程数是否触发调整初始化阈值范围以得到当前阈值范围的事件;
其中,是否触发调整初始化阈值范围的事件基于宿主机的指标数据予以确定,所述初始化阈值范围由核心线程数最大值与核心线程数最小值予以确定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华云数据控股集团有限公司,未经华云数据控股集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010946007.8/2.html,转载请声明来源钻瓜专利网。





