[發明專利]讀寫鎖的加鎖、釋放方法及相關系統有效
| 申請號: | 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.szxzyx.cn/pat/books/201910218297.1/1.html,轉載請聲明來源鉆瓜專利網。





