[发明专利]一种信号量许可的调整方法及装置在审
申请号: | 201910187624.1 | 申请日: | 2019-03-12 |
公开(公告)号: | CN110008012A | 公开(公告)日: | 2019-07-12 |
发明(设计)人: | 柳芊 | 申请(专利权)人: | 平安普惠企业管理有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518000 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 信号量 许可 线程池 第二信号 借用 业务过程优化 分派 参数调整 参数匹配 参数确定 获取目标 空闲线程 参数组 零时 轮询 调用 申请 第一线 | ||
1.一种信号量许可的调整方法,其特征在于,包括:
获取目标任务对应的第一线程池,并获取与所述第一线程池匹配的第一信号量参数,所述第一信号量参数用于指示所述第一线程池的许可的数量,所述第一线程池的许可用于指示所述第一线程池的空闲线程;
当所述第一信号量参数所指示的许可的数量为零且与所述第一信号量参数对应的第一借用参数为是时,获取所述第一信号量参数所属的信号量参数组,所述信号量参数组中包括所述第一信号量参数以及N个第二信号量参数,所述第一借用参数用于指示线程池是否允许借用其他线程池的许可,N为大于零的整数;
将所述N个第二信号量参数中对应的第二借用参数为是的第二信号量参数确定为第三信号量参数,得到M个第三信号量参数,所述第二借用参数用于指示线程池的许可是否允许被其他线程池借用,M小于或等于N;
当轮询到所述M个第三信号量参数中的第i个第三信号量参数所指示的许可的数量大于零时,将所述第i个第三信号量参数确定为第四信号量参数,i为不大于M的正整数;
将与所述第四信号量参数匹配的第四线程池中的任一许可分派给所述目标任务,并调用所述第四线程池中分派给所述目标任务的许可对应的空闲线程处理所述目标任务。
2.根据权利要求1所述的方法,其特征在于,所述在将与所述第四信号量参数匹配的第四线程池中的任一许可分派给所述目标任务之后,所述方法包括:
将所述第四信号量参数所指示的许可的数量减一;
所述在调用所述第四线程池中分派给所述目标任务的许可对应的空闲线程处理所述目标任务之后,所述方法还包括:
当所述目标任务处理完成时,释放所述第四线程池中分派给所述目标任务的许可对应的空闲线程,并将所述第四信号量参数所指示的许可的数量加一。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当轮询到所述M个第三信号量参数中的各个第三信号量参数所指示的许可的数量均为零时,将所述目标任务顺序存储在所述第一线程池的许可等待队列中,以等待所述第一信号量参数所指示的许可的数量大于零;
当所述第一信号量参数所指示的许可的数量大于零时,将所述第一线程池中的许可分派给所述目标任务,并调用所述第一线程池中分派给所述目标任务的许可对应的空闲线程处理所述目标任务。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
当所述第一信号量参数所指示的许可的数量为零且与所述第一信号量参数对应的第一借用参数为否时,将所述目标任务顺序存储在所述第一线程池的许可等待队列中,以等待所述第一信号量参数所指示的许可的数量大于零;
当所述第一信号量参数所指示的许可的数量大于零时,将所述第一线程池中的许可分派给所述目标任务,并调用所述第一线程池中分派给所述目标任务的许可对应的空闲线程处理所述目标任务。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取目标任务对应的第一线程池,包括:
接收所述目标任务,并获取所述目标任务的目标任务类型;
从预设的线程池数据库中获取所述目标任务类型对应的第一线程池,其中一个任务类型对应一个线程池。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
当所述第一信号量参数所指示的许可的数量大于零时,将所述第一线程池中的任一许可分派给所述目标任务,并调用所述第一线程池中分派给所述目标任务的许可对应的空闲线程处理所述目标任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安普惠企业管理有限公司,未经平安普惠企业管理有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910187624.1/1.html,转载请声明来源钻瓜专利网。