[发明专利]读写锁的加锁、释放方法及相关系统有效
申请号: | 201910218297.1 | 申请日: | 2019-03-21 |
公开(公告)号: | CN109947575B | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 柳正龙;何仲君 | 申请(专利权)人: | 恒生电子股份有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 李慧引;王宝筠 |
地址: | 310053 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 读写 加锁 释放 方法 相关 系统 | ||
1.一种读写锁的加锁方法,其特征在于,包括:
当访问者要访问共享资源时,判断读写锁的互斥锁字段是否为第一预设标识,所述第一预设标识用于表示所述读写锁中的互斥锁处于空闲状态;
若判断出所述互斥锁字段为所述第一预设标识,则将所述互斥锁字段设置为所述访问者的标识,所述访问者的标识为预先分配给所述访问者的唯一标识;
基于所述读写锁的写者字段和/或读者字段,判断所述读写锁的当前状态是否满足加读写锁条件;
若判断出所述读写锁的当前状态满足加读写锁条件,则将所述访问者标识记录到所述读写锁的写者字段或读者字段中;其中,若所述访问者为写者则将所述访问者标识记录到写者字段中,若所述访问者为读者则将所述访问者标识记录到读者字段中;
将所述互斥锁字段设置为所述第一预设标识。
2.根据权利要求1所述的方法,其特征在于,所述读写锁,包括:所述互斥锁字段、所述写者字段及所述读者字段;
其中,所述互斥锁字段用于在所述访问者获取所述互斥锁时,设置为所述访问者的标识;所述写者字段用于在所述访问者获取写锁时,设置为所述访问者的标识;所述读者字段包括读者链表,所述读者链表用于在所述访问者获取读锁时,记录所述访问者的标识。
3.根据权利要求2所述的方法,其特征在于,所述判断所述读写锁的当前状态是否满足加读写锁条件,包括:
若所述访问者为写者,判断所述读写锁的当前状态是否满足加写锁条件;其中,所述加写锁条件为所述写者字段为第二预设标识且所述读者字段为空,所述第二预设标识用于表示未存在写者获取所述读写锁;
其中,所述若判断出所述读写锁的当前状态满足加读写锁条件,则将所述访问者标识记录到所述读写锁的写者字段或读者字段中,包括:
若所述访问者为写者,且判断出所述读写锁的当前状态满足加写锁条件,则将所述读写锁中的写者字段设置为所述访问者的标识;
或者,所述判断所述读写锁的当前状态是否满足加读写锁条件,包括:
若所述访问者为读者,判断所述读写锁的当前状态是否满足加读锁条件,其中,所述加读锁条件为所述写者字段为第二预设标识;
其中,所述若判断出所述读写锁的当前状态满足加读写锁条件,则将所述访问者标识记录到所述读写锁的写者字段或读者字段中,包括:
若所述访问者为读者,且判断出所述读写锁的当前状态满足加读锁条件,则将所述访问者的标识增加到所述读者字段的读者链表中。
4.根据权利要求3所述的方法,其特征在于,所述将所述访问者的标识增加到所述读者字段的读者链表中,包括:
建立一个读者节点;
将所述建立的读者节点的数据域设置为所述访问者的标识,并设置所述建立的读者节点的指针域指向所述读者字段的读者链表的表头当前指向的节点;
将所述读者字段的读者链表的表头设置为所述建立的读者节点。
5.根据权利要求1所述的方法,其特征在于,若所述访问者异常终止时,还包括:
获取所述异常终止的访问者的标识;
判断所述异常终止的访问者的标识与所述互斥锁字段记录的标识是否相同;
若判断出所述异常终止的访问者的标识与所述互斥锁字段记录的标识相同,则将所述互斥锁字段设置为所述第一预设标识。
6.一种读写锁的释放方法,其特征在于,包括:
当访问者访问完共享资源时,判断读写锁中的互斥锁字段是否为第一预设标识,所述第一预设标识用于表示所述读写锁中的互斥锁处于空闲状态;
若判断出所述互斥锁字段为第一预设标识,则将所述互斥锁字段设置为所述访问者的标识,所述访问者的标识为预先分配给所述访问者的唯一标识;
删除记录在所述读写锁的写者字段或读者字段中的访问者的标识;其中,若所述访问者为写者则将所述写者字段中的访问者标识删除,若所述访问者为读者则将所述读者字段中的访问者标识删除;
将所述互斥锁字段设置为所述第一预设标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于恒生电子股份有限公司,未经恒生电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910218297.1/1.html,转载请声明来源钻瓜专利网。