[发明专利]读写锁重入的实现方法、装置、终端及存储介质有效
申请号: | 201810987084.0 | 申请日: | 2018-08-28 |
公开(公告)号: | CN109271258B | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 冯凯文;陈卓;党跃东;彭荣贵;鲍万宇;倪忠俊 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 读写 锁重入 实现 方法 装置 终端 存储 介质 | ||
1.一种读写锁重入的实现方法,其特征在于,包括:
接收任一线程对目标资源的当前加锁请求;
若所述目标资源处于写锁独占状态,则获取对所述目标资源处于写锁独占状态的历史写锁线程;
若该线程与所述历史写锁线程不同,则拒绝该线程的当前加锁请求;
若该线程与所述历史写锁线程相同,则为所述目标资源添加该线程的新锁;
其中,当前加锁请求是指任一线程向终端所发送的当前对临界区的目标资源添加写锁或读锁的请求。
2.根据权利要求1所述的方法,其特征在于,接收任一线程对目标资源的当前写锁请求之后,还包括:
若所述目标资源处于非锁定状态,则为所述目标资源添加该线程的写锁,将该线程作为所述目标资源的写锁线程。
3.根据权利要求1所述的方法,其特征在于,为所述目标资源添加该线程的新锁之后,还包括:
若检测到所述目标资源的锁均解锁,则确定所述目标资源处于未锁定状态。
4.根据权利要求1所述的方法,其特征在于,为所述目标资源添加该线程的新锁之后,包括:
接收并响应该线程对所述目标资源的访问指令。
5.一种读写锁重入的实现装置,其特征在于,包括:
请求接收模块,用于接收任一线程对目标资源的当前加锁请求;
历史线程获取模块,用于若所述目标资源处于写锁独占状态,则获取对所述目标资源处于写锁独占状态的历史写锁线程;
请求拒绝模块,用于若该线程与所述历史写锁线程不同,则拒绝该线程的当前加锁请求; 锁添加模块,用于若该线程与所述历史写锁线程相同,则为所述目标资源添加该线程的新锁;
其中,当前加锁请求是指任一线程向终端所发送的当前对临界区的目标资源添加写锁或读锁的请求。
6.根据权利要求5所述的装置,其特征在于,所述锁添加模块还用于:
在接收任一线程对目标资源的当前写锁请求之后,若所述目标资源处于非锁定状态,则为所述目标资源添加该线程的写锁,将该线程作为所述目标资源的写锁线程。
7.根据权利要求5所述的装置,其特征在于,还包括:
状态确定模块,用于在为所述目标资源添加该线程的新锁之后,若检测到所述目标资源的锁均解锁,则确定所述目标资源处于未锁定状态。
8.根据权利要求5所述的装置,其特征在于,还包括:
访问指令响应模块,用于在为所述目标资源添加该线程的新锁之后,接收并响应该线程对所述目标资源的访问指令。
9.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的读写锁重入的实现方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的读写锁重入的实现方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810987084.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种低介电双马来酰亚胺树脂体系用预聚体
- 下一篇:一种数据处理方法及装置