[發明專利]一種資源訪問的方法、裝置及設備在審
| 申請號: | 202010590818.9 | 申請日: | 2020-06-24 |
| 公開(公告)號: | CN111858074A | 公開(公告)日: | 2020-10-30 |
| 發明(設計)人: | 毛金花;田夢超 | 申請(專利權)人: | 深圳英飛拓智能技術有限公司 |
| 主分類號: | G06F9/52 | 分類號: | G06F9/52 |
| 代理公司: | 深圳中一聯合知識產權代理有限公司 44414 | 代理人: | 趙磊 |
| 地址: | 518000 廣東省深圳市龍華區觀湖街道*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 資源 訪問 方法 裝置 設備 | ||
本申請適用于計算機技術領域,提供了一種資源訪問的方法,包括:獲取資源訪問請求,所述資源訪問請求包括目標資源的標識;根據所述目標資源的標識獲取所述目標資源的狀態變量信息的值;若所述目標資源的狀態變量信息的值滿足預設訪問條件,則對所述目標資源執行所述資源訪問請求對應的數據操作。上述方案,將現有技術中使用的鎖全部替換成了狀態變量信息,狀態變量信息標識了資源當前的狀態。根據狀態變量信息可以判斷資源當前是否可以執行資源訪問請求對應的操作,并且確定如何執行資源訪問請求對應的操作。這樣,每個狀態變量信息的運算可以只和自己相關,保證了不同的操作對應不同的獲取資源的方式,既實現了一定數量的資源的競爭,同時也避免了死鎖。
技術領域
本申請屬于計算機技術領域,尤其涉及一種資源訪問的方法、裝置及設備。
背景技術
在多線程的情況下,多個線程可能出現競爭一定數量的資源。若某個線程申請資源,且此時資源不可用,那么該線程將進入等待狀態。如果所申請的資源被其他等待線程占有,那么該等待線程有可能永遠處于等待狀態而無法改變該狀態,形成死鎖。
現有的解決多線程死鎖的方法主要是在分配資源時判斷是否會出現死鎖,只在不會出現死鎖的情況下才分配資源,但是,這種方法會對資源的分配產生影響,容易造成資源的浪費。也就是說,現有的解決多線程死鎖的方法無法在保證資源合理分配的情況下,避免出現多線程死鎖。
發明內容
本申請實施例提供了一種資源訪問的方法、裝置及設備,可以解決現有的解決多線程死鎖的方法無法在保證資源合理分配的情況下,避免出現多線程死鎖的問題。
第一方面,本申請實施例提供了一種資源訪問的方法,包括:
獲取資源訪問請求,所述資源訪問請求包括目標資源的標識;
根據所述目標資源的標識獲取所述目標資源的狀態變量信息的值;
若所述目標資源的狀態變量信息的值滿足預設訪問條件,則對所述目標資源執行所述資源訪問請求對應的數據操作。
進一步地,所述若所述目標資源的狀態變量信息的值滿足預設訪問條件,則對所述目標資源執行所述資源訪問請求對應的數據操作,包括:
若檢測到所述狀態變量信息未賦值,則根據所述資源訪問請求對所述狀態變量信息進行賦值,并且對所述目標資源執行所述資源訪問請求對應的數據操作。
進一步地,所述若所述目標資源的狀態變量信息的值滿足預設訪問條件,則對所述目標資源執行所述資源訪問請求對應的數據操作,包括:
若檢測到所述狀態變量信息的值為第一數值,則對所述目標資源執行所述資源訪問請求對應的數據操作。
進一步地,所述若所述目標資源的狀態變量信息的值滿足預設訪問條件,則對所述目標資源執行所述資源訪問請求對應的數據操作,包括:
若檢測到所述狀態變量信息的值為第二數值且循環次數小于或等于預設循環閾值,則所述循環次數加1,并且等待預設時長后返回執行所述獲取所述目標資源的狀態變量信息的值,則對所述目標資源執行所述資源訪問請求對應的數據操作。
進一步地,還包括:
若檢測到所述狀態變量信息的值為第二數值且循環次數大于預設循環閾值,則停止執行所述資源訪問請求對應的數據操作。
進一步地,在所述若滿足預設訪問條件,則執行所述資源訪問請求之后,還包括:
當所述資源訪問請求對應的數據操作執行完成時,恢復所述目標資源的狀態變量信息的值。
第二方面,本申請實施例提供了一種資源訪問的裝置,包括:
第一獲取單元,用于獲取資源訪問請求,所述資源訪問請求包括目標資源的標識;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳英飛拓智能技術有限公司,未經深圳英飛拓智能技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010590818.9/2.html,轉載請聲明來源鉆瓜專利網。





