[发明专利]一种高效读写锁的实现方法在审
申请号: | 201611095878.3 | 申请日: | 2016-12-02 |
公开(公告)号: | CN106776051A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 王永峰;尧津来 | 申请(专利权)人: | 北京锐安科技有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52;G06F9/54 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 司立彬 |
地址: | 100192 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高效 读写 实现 方法 | ||
1.一种高效读写锁的实现方法,其步骤为:
1)程序的主线程初始化共享数据队列,为该共享数据队列设置一写线程和一读线程,以及设置一整数变量M来保存该共享数据队列最大长度,设置一变量K保存当前该共享数据队列中的数据个数;
2)当该程序需要对该共享数据队列进行写操作时,该主线程调用该共享数据队列的写线程,该写线程做写操作前,先检查K,如果K<M,则把要写的数据插入到该共享数据队列的写端,并且增加K的计数值;
3)当该程序需要对该共享数据队列进行读操作时,该主线程调用该共享数据队列的读线程,该读线程做读操作前,检查K,如果K>0,则从该共享数据队列的读端读取一个元素,并且减少K的计数值。
2.如权利要求1所述的方法,其特征在于,所述步骤2)中,如果K大于或等于M,即该共享数据队列已满,则丢弃当前要写的数据。
3.如权利要求1所述的方法,其特征在于,所述步骤2)中,如果K大于或等于M,即该共享数据队列已满,则等待该共享数据队列未满时,将当前要写的数据插入到该共享数据队列的写端,并且增加K的计数值。
4.如权利要求1所述的方法,其特征在于,所述步骤3)中,如果K=0,即该共享数据队列为空,则采取等待或者轮询的方式检测该共享数据队列中是否存在数据,如果存在,则从该共享数据队列的读端读取一个元素,并且减少K的计数值。
5.如权利要求1所述的方法,其特征在于,该共享数据队列中的元素为写入数据的指针。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京锐安科技有限公司,未经北京锐安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611095878.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:多用户进程互斥方法及装置
- 下一篇:共享资源访问方法和装置