[發明專利]對資源限制訪問的方法、裝置及終端設備在審
| 申請號: | 201810251731.1 | 申請日: | 2018-03-26 |
| 公開(公告)號: | CN108446181A | 公開(公告)日: | 2018-08-24 |
| 發明(設計)人: | 楊亮;張文明;陳少杰 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/52 |
| 代理公司: | 北京超凡志成知識產權代理事務所(普通合伙) 11371 | 代理人: | 吳迪 |
| 地址: | 430000 湖北省武漢市東湖新技術*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 計數變量 預設 自旋 終端設備 資源限制 訪問 加鎖 解鎖 線程 調用 互聯網技術 調用系統 函數檢測 使用系統 系統資源 線程調用 運行效率 閾值配置 讀寫 占用 節約 配置 | ||
本發明涉及互聯網技術領域,具體涉及一種對資源限制訪問的方法、裝置及終端設備,該方法通過定義的自旋鎖限制多個線程對資源的同時訪問,該自旋鎖包括鎖計數變量、加鎖函數以及解鎖函數。當前線程調用所述加鎖函數中的指定函數檢測所述鎖計數變量是否為預設初值,若所述鎖計數變量為預設初值,則將鎖計數變量配置為預設閾值,以供當前線程占用自旋鎖對資源進行訪問。當前線程訪問完資源后,調用解鎖函數將鎖計數變量由預設閾值配置為預設初值,以供其他線程調用自旋鎖。在本方案中,線程是通過調用系統函數讀寫鎖計數變量,并沒有使用系統資源,故節約了系統資源,提高了系統的運行效率。
技術領域
本發明涉及互聯網技術領域,具體而言,涉及一種對資源限制訪問的方法、裝置及終端設備。
背景技術
在現代計算機程序編程中,多線程被廣泛運用,為了保護相關的代碼或者變量,在多線程中通常采用鎖機制來解決。例如在Windows系統中可以自旋鎖,互斥體、信號量等方法來實現鎖功能。以自旋鎖(一般提供加鎖的lock函數,以及解鎖的unlock函數)為例,利用自旋鎖的lock方法對需要保護的代碼,數據進行加鎖保護,這樣其他線程運行到調用該函數地址時,就會被阻塞;調用自旋鎖的unlock函數對該代碼區域進行解鎖。位于lock和unlock之間的代碼就是線程安全的,對于有N個線程同時運行的進程來說,同時只有一個線程能夠訪問到這之間的代碼。
同理互斥體、信號量、事件都可以用于實現類似的加鎖與解鎖功能,但是這些與自旋鎖的差異性在于互斥體、信號量、事件這些都是系統資源,如果整個系統中使用了大量的這些系統資源,很有可能造成系統運行效率的低下,或者在申請這些資源時,可能導致失敗。而自旋鎖并不是系統資源,是需要程序員根據相關算法手動實現的。所以如果自旋鎖的實現邏輯夠好,可以起到不消耗相關系統資源的效果。
自旋鎖其實現的本質就在于當調用lock加鎖時,如果鎖計數(通常是一個32位的整型數)不等于0,則說明該自旋鎖被別的線程占用,則需要依靠一個while循環不停的等待,直到該鎖計數等于0時,才能獲取到該鎖,并把鎖計數設置為1(表示該自旋鎖已經被占有),從而退出while循環。而在調用unlock解鎖時,就是把該自旋鎖的鎖計數設置為0。所以鎖計數變量就是實現自旋鎖功能的關鍵,因為該鎖計數變量會在多個線程中進行讀寫,所以對該鎖計數變量的讀寫保護就是自旋鎖實現過程中的根本所在。
目前自旋鎖比較常見的實現方式大都是利用一個系統資源的互斥體變量來保護鎖計數變量,這種實現方法實現簡單,但仍然使用到了系統的互斥體資源,導致系統運行效率低下。
發明內容
本發明的目的在于提供一種對資源限制訪問方法,以實現節約系統資源,提高系統運行效率。
本發明的另一目的在于提供一種對資源限制訪問裝置,以實現節約系統資源,提高系統運行效率。
本發明的另一目的在于提供一種終端設備,以實現節約系統資源,提高系統運行效率。
為了實現上述目的,本發明實施例采用的技術方案如下:
第一方面,本發明實施例提供了一種對資源限制訪問的方法,所述方法通過定義的自旋鎖限制多個線程對資源的同時訪問,所述自旋鎖包括鎖計數變量、加鎖函數以及解鎖函數,當前線程調用所述加鎖函數中的指定函數檢測所述鎖計數變量是否為預設初值;若所述鎖計數變量為預設初值,則將所述鎖計數變量配置為預設閾值,以供當前線程占用所述自旋鎖對所述資源進行訪問;當所述當前線程訪問完所述資源后,調用所述解鎖函數將所述鎖計數變量由所述預設閾值配置為所述預設初值,以供其他線程調用所述自旋鎖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810251731.1/2.html,轉載請聲明來源鉆瓜專利網。





