[发明专利]一种java线程池分级处理方法和装置在审
申请号: | 201810935659.4 | 申请日: | 2018-08-16 |
公开(公告)号: | CN110837401A | 公开(公告)日: | 2020-02-25 |
发明(设计)人: | 段涛;叶国华;司孝波;陈冬 | 申请(专利权)人: | 苏宁易购集团股份有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/48 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 黄玉东 |
地址: | 210000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 线程 分级 处理 方法 装置 | ||
本发明公开一种java线程池分级处理方法和装置,能够调配有限的线程池资源优先处理优先级较高的业务请求,以保证高优先级的业务请求能够被高效处理。该方法包括:步骤S1,基于业务请求的类型分级,并配置与分级数目相等数量的线程池;步骤S2,分别设定各线程池的优先级别,形成由高到低不同优先级别的线程池;步骤S3,设置当前业务请求的优先级别,依次筛选出适用于当前业务请求的线程池;步骤S4,在适用的多个线程池中,优先调用优先级别高且有能力处理当前业务请求的线程池处理当前业务请求;步骤S5,若当前业务请求未被处理,则将当前业务请求加入任务缓冲队列,由调度器重新调度分配返回步骤S3。该装置包括上述技术方案所提的方法。
技术领域
本发明涉及线程池技术领域,尤其涉及一种java线程池分级处理方法和装置。
背景技术
对于电商类平台,PV/UV的增长速度快,并发请求高,对系统的响应时间的要求比较高,通常采用线程池来增加系统的并发处理能力,以发挥系统的效能。
由于电商类平台的用户请求类型包括交易类业务和非交易类业务,因此不同的业务类型使用线程池的目的也不同,像交易类业务,如提交订单,使用线程池可以并发操作提交订单流程中涉及到的各类资源处理,从而减少提交订单的响应时间;而像非交易类业务,如订单信息同步,具有数据量大,但实时性要求不高的特点,使用线程池可以增大并发处理能力,提高吞吐量。
通常来说,交易类业务的优先级肯定要高于非交易类业务,因此需要优先保证交易类业务的处理能力,在线程池资源有限的情况下,可以适当减少或者牺牲非交易类业务的处理能力,但现有的的线程池或基于顺序执行或基于优先级排队决定线程调度的先后顺序,在高并发环境下都可能出现线程处理不及时甚至线程饥饿,导致服务响应不及时,影响了用户体验。
发明内容
本发明的目的在于提供一种java线程池分级处理的方法和装置,能够调配有限的线程池资源优先处理优先级较高的业务请求,以保证高优先级的业务请求能够被高效处理。
为了实现上述目的,本发明的一方面提供一种java线程池分级处理方法,包括:
步骤S1,基于业务请求的类型分级,并配置与分级数目相等数量的线程池;
步骤S2,分别设定各线程池的优先级别,形成由高到低不同优先级别的线程池;
步骤S3,设置当前业务请求的优先级别,依次筛选出适用于当前业务请求的线程池;其中,所述适用于当前业务请求的线程池包括与当前业务请求优先级别匹配,以及比当前业务请求优先级别低的线程池;
步骤S4,在适用的多个线程池中,优先调用优先级别高且有能力处理当前业务请求的线程池处理当前业务请求;
步骤S5,若当前业务请求未被处理,则将当前业务请求加入任务缓冲队列,由调度器重新调度分配返回步骤S3。
优选地,分别设定各线程池的优先级别,形成由高到低不同优先级别的线程池的方法包括:
所述业务请求类型分为高优先级业务请求、中优先级业务请求和低优先级业务请求,配置的线程池类型对应包括高优先级线程池、中优先级线程池和低优先级线程池;其中,
所述高优先级线程池用于处理高优先级业务请求;
所述中优先级线程池用于优先处理中优先级业务请求,以及能够处理高优先级业务请求;
所述低优先级业务请求用于优先处理低优先级业务请求,以及能够处理中优先级业务请求或者高优先级业务请求。
示例性地,各所述线程池的大小参考应用的特点对应设定;
当针对CPU密集型应用时,所述线程池的大小n=i+1,当针对IO密集型应用时,所述线程池的大小n=2i+1;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏宁易购集团股份有限公司,未经苏宁易购集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810935659.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:点云的分割方法、装置及计算机存储介质
- 下一篇:业务逻辑拓扑的生成方法及装置