[發明專利]一種高效讀寫鎖的實現方法在審
| 申請號: | 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.szxzyx.cn/pat/books/201611095878.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:多用戶進程互斥方法及裝置
- 下一篇:共享資源訪問方法和裝置





