[发明专利]读写锁的加锁、释放方法及相关系统有效

专利信息
申请号: 201910218297.1 申请日: 2019-03-21
公开(公告)号: CN109947575B 公开(公告)日: 2021-08-24
发明(设计)人: 柳正龙;何仲君 申请(专利权)人: 恒生电子股份有限公司
主分类号: G06F9/52 分类号: G06F9/52
代理公司: 北京集佳知识产权代理有限公司 11227 代理人: 李慧引;王宝筠
地址: 310053 浙江省杭州市*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 读写 加锁 释放 方法 相关 系统
【说明书】:

发明提供了一种读写锁的加锁方法,包括:当访问者要访问共享资源时,判断读写锁的互斥锁字段是否为第一预设标识,所述第一预设标识用于表示所述读写锁中的互斥锁处于空闲状态;若判断出所述互斥锁字段为所述第一预设标识,则将所述互斥锁字段设置为所述访问者的标识,所述访问者的标识为预先分配给所述访问者的唯一标识;判断所述读写锁的当前状态是否满足加读写锁条件;若判断出所述读写锁的当前状态满足加读写锁条件,则将所述访问者标识记录到所述读写锁的写者字段或读者字段中;将所述互斥锁字段设置为所述第一预设标识。通过记录的访问者标识,可知道访问者获取锁的情况,从而在访问者异常终止后,正确释放互斥锁和读写锁,将读写锁恢复。

技术领域

本发明涉及数据读写技术领域,特别涉及一种读写锁的加锁、释放方法及相关系统。

背景技术

在对于同一资源的访问读多写少的应用场景中,采用互斥锁会很大程度的降低程序的效率,所以为了提高并发性能,程序设计时,经常会用到读写锁。

读写锁把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。一般情况下,读写锁能允许同时有多个读者来访问共享资源,且允许单个写者修改共享资源。访问者需要获取读写锁,才能访问共享资源,在访问完成后将读写锁释放。

访问者要先获取读写锁内部的互斥锁,才能获取和释放读写锁,在完成获取或是释放读写锁后,将互斥锁释放。所述互斥锁在任意时刻仅能被一个访问者持有。访问者获取互斥锁后,在加读写锁时,将写者标识设置为1或将读者计数器加1,完成加读写锁。相应的,在解读写锁时,将写者字段设置为0或将读者减1,完成解读写锁。

当存在访问者发生异常终止时,无法确认异常终止的访问者是否已获取了读写锁中的互斥锁,从而无法确定是否需要释放互斥锁。若在不确定情况下释放互斥锁,可能会将正常运行的访问者的互斥锁释放了。若不释放互斥锁,则所述异常终止的访问者可能已经获得了互斥锁。此时,其他访问者将无法获取互斥锁从而获取读写锁。

并且,根据写者标识和读者计数器,也无法确定异常终止的访问者是否已经获取了读写锁,同样也无法确定是否要释放读写锁。也无法正确的释放异常终止的访问者获取的读写锁。使得读写锁无法被恢复,出现死锁。所以,在访问者发生异常终止后,能够明确知道互斥锁与读写锁的被获取情况,从而能恢复读写锁,显得尤为重要。

发明内容

基于上述现有技术的不足,本发明提出一种读写锁的加锁、释放方法及相关系统,以解决访问者发生异常终止时,无法正确恢复读写锁的问题。

为解决上述问题,现提出的方案如下:

本发明的第一方面提供了一种读写锁的加锁方法,包括:

当访问者要访问共享资源时,判断读写锁的互斥锁字段是否为第一预设标识,所述第一预设标识用于表示所述读写锁中的互斥锁处于空闲状态;

若判断出所述互斥锁字段为所述第一预设标识,则将所述互斥锁字段设置为所述访问者的标识,所述访问者的标识为预先分配给所述访问者的唯一标识;

判断所述读写锁的当前状态是否满足加读写锁条件;

若判断出所述读写锁的当前状态满足加读写锁条件,则将所述访问者标识记录到所述读写锁的写者字段或读者字段中;

将所述互斥锁字段设置为所述第一预设标识。

可选地,所述读写锁,包括:所述互斥锁字段、所述写者字段及所述读者字段;

其中,所述互斥锁字段用于在所述访问者获取所述互斥锁时,设置为所述访问者的标识;所述写者字段用于在所述访问者获取写锁时,设置为所述访问者的标识;所述读者字段包括读者链表,所述读者链表用于在所述访问者获取读锁时,记录所述访问者的标识。

可选地,所述判断所述读写锁的当前状态是否满足加读写锁条件,包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于恒生电子股份有限公司,未经恒生电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910218297.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top