[发明专利]一种信号量许可的调整方法及装置在审
申请号: | 201910187874.5 | 申请日: | 2019-03-12 |
公开(公告)号: | CN110032434A | 公开(公告)日: | 2019-07-19 |
发明(设计)人: | 柳芊 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 信号量 许可 借用 目标线 线程池 等待队列 参数组 业务过程优化 参数调整 参数匹配 第二信号 获取目标 空闲线程 调用 预设 匹配 申请 | ||
本申请实施例公开了一种信号量许可的调整方法及装置,该方法适用于业务过程优化,该方法包括:获取目标线程池的许可等待队列中的任务数量,并获取与该目标线程池匹配的第一信号量参数,当该任务数量大于预设的目标阈值且所该第一信号量参数对应的第一借用参数为是时,获取该目标线程池的待借用许可数量,获取该第一信号量参数所属的信号量参数组,并从该信号量参数组的N个第二信号量参数中确定出M个第三信号量参数,向与该M个第三信号量参数匹配的M个线程池请求借用该待借用许可数量,并调用借用到的许可所指示的空闲线程处理该目标线程池的许可等待队列中的任务。采用本申请实施例,可以通过信号量参数调整线程池的许可。
技术领域
本申请涉及计算机技术领域,尤其涉及一种信号量许可的调整方法及装置。
背景技术
目前大部分的任务都是通过线程池中的线程来处理,并且一般在配置好线程池的各个参数之后,不能动态的对线程池的各个参数进行调整。若想调整线程池的参数,必须重新配置这个线程池。当某个任务需要调用线程池中的线程处理时,如果此时线程池中没有了空闲线程,那么该任务就会被顺序存储在该线程池的许可等待队列中,以等待线程池中出现空闲线程时,调用该线程池中出现的空闲线程处理这个任务。如果很长时间线程池中都没有空闲线程或线程池中的空闲线程处理任务的速度慢,那么该线程池的许可等待队列中可能存在大量的待处理任务,这将导致任务的等待时间长、处理效率低。
发明内容
本申请实施例提供一种信号量许可的调整方法及装置,可以通过信号量参数调整线程池的许可,减少任务的等待时长,提高任务的处理效率。
第一方面,本申请实施例提供了一种信号量许可的调整方法,该方法包括:
获取目标线程池的许可等待队列中的任务数量,并获取与该目标线程池匹配的第一信号量参数,该许可等待队列用于存储待处理的任务,该第一信号量参数用于指示该第一线程池的许可的数量,该许可用于指示线程池中的空闲线程;
当该任务数量大于预设的目标阈值且该第一信号量参数对应的第一借用参数为是时,获取该目标线程池的待借用许可数量,该第一借用参数用于指示线程池是否允许借用其他线程池的许可;
获取该第一信号量参数所属的信号量参数组,并从该信号量参数组的N个第二信号量参数中确定出M个第三信号量参数,其中第三信号量参数对应的第二借用参数为是,该第二借用参数用于指示线程池的许可是否允许被其他线程池借用,M小于或等于N;
向与该M个第三信号量参数匹配的M个线程池请求借用该待借用许可数量,并调用该M个线程池中借用到的许可所指示的空闲线程处理该目标线程池的许可等待队列中的任务。
结合第一方面,在一种可能的实施方式中,向与该M个第三信号量参数匹配的M个线程池请求借用该待借用许可数量的许可,包括:
获取与该M个第三信号量参数匹配的M个线程池,其中一个信号量参数与一个线程池匹配;针对该M个线程池中的任一线程池i,当与该线程池i匹配的第三信号量参数所指示的许可的数量大于零时,向该线程池i请求借用该线程池i匹配的第三信号量参数所指示的一个或多个许可;当借用到的许可的数量等于该待借用许可数量时,停止借用许可,并触发执行调用该M个线程池中借用到的许可所指示的空闲线程处理该目标线程池的许可等待队列中的任务。
结合第一方面,在一种可能的实施方式中,向与该M个第三信号量参数匹配的M个线程池请求借用该待借用许可数量的许可,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910187874.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种任务执行方法、装置、设备及介质
- 下一篇:控制系统中管理线程的方法和装置