[發明專利]一種基于同步鎖的多線程處理方法、終端以及存儲介質在審
申請號: | 201710842005.2 | 申請日: | 2017-09-18 |
公開(公告)號: | CN107729129A | 公開(公告)日: | 2018-02-23 |
發明(設計)人: | 涂斌健;陳東持 | 申請(專利權)人: | 惠州TCL移動通信有限公司 |
主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/52 |
代理公司: | 深圳市君勝知識產權代理事務所(普通合伙)44268 | 代理人: | 王永文,劉文求 |
地址: | 516006 廣東省*** | 國省代碼: | 廣東;44 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | 一種 基于 同步 多線程 處理 方法 終端 以及 存儲 介質 | ||
技術領域
本發明涉及智能終端技術領域,特別涉及一種基于同步鎖的多線程處理方法、終端以及存儲介質。
背景技術
最近幾年內,處理器廠商受到功耗和溫度的限制,同時為了保持高性能運算持續增長,計算機已經朝著多核計算機體系架構方向發展。為了充分利用多核架構,應用程序被拆分成多個可獨立運行在單個CPU上面的線程,這樣設計程序可以并行執行提高整體運行效率。但是,當使用多個線程來訪問同一數據時,容易出現安全問題,例如,多線程都在操作同一數據導致數據不一致或者不準確的問題等。
為了解決上述問題,目前普遍采用同步機制下控制多線程對同一數據資源的訪問,以使得在多線程同時訪問同一數據資源時,保證所述同一數據資源每次被一個線程獨占。但是,當訪問所述同一資源的多線程數量較大時,會導致阻塞時間過長,甚至卡頓、應用程序無響應的問題。
因而現有技術還有待改進和提高。
發明內容
本發明要解決的技術問題在于,針對現有技術的不足,提供一種基于同步鎖的多線程處理方法、終端以及存儲介質,以解決現有多線程訪問同一數據資源時存在的堵塞時間長的問題。
為了解決上述技術問題,本發明所采用的技術方案如下:
一種基于同步鎖的多線程處理方法,其包括:
當多線程訪問同一數據資源時,將所述多線程依照訪問時間排序,并依照排序依次訪問預設的同步鎖;
通過所述同步鎖控制具有寫權限線程單獨訪問所述同一數據資源、以及具有讀權限的連續多線程同時訪問所述同一數據資源。
所述基于同步鎖的多線程處理方法,其中,所述通過所述同步鎖控制具有寫權限線程單獨訪問所述同一數據資源、以及具有讀權限的連續多線程同時訪問所述同一數據資源具體包括:
當第一線程訪問同步鎖時,檢測所述第一線程需要獲取的訪問權限,其中,所述訪問權限包括讀訪問權限和寫訪問權限;
當所述第一線程需要獲取讀訪問權限時,檢測所述第一線程是否具有寫訪問權限;
若所述第一線程具有寫訪問權限,則為所述第一線程配置讀訪問權限,并控制所述第一線程訪問所述同一數據資源。
所述基于同步鎖的多線程處理方法,其中,所述通過所述同步鎖控制具有寫權限線程單獨訪問所述同一數據資源、以及具有讀權限的連續多線程同時訪問所述同一數據資源還包括:
若所述第一線程不具有寫訪問權限,則檢測所述同一數據資源是否處于被第一寫訪問線程訪問狀態;
若未處于被第一寫訪問線程訪問狀態,則檢測是否存在處于等待狀態的第二寫訪問線程;
當未存在第二寫訪問線程時,為所述第一線程配置寫訪問權限,并控制所述第一線程訪問所述同一數據資源;
當存在第二寫訪問線程時,控制所述第一線程線程休眠狀態。
所述基于同步鎖的多線程處理方法,其中,所述通過所述同步鎖控制具有寫權限線程單獨訪問所述同一數據資源、以及具有讀權限的連續多線程同時訪問所述同一數據資源還包括:
若處于被第一寫訪問線程訪問狀態,則判斷所述第一線程與所述第一寫訪問線程是否相同;
如果相同,則為所述第一線程配置讀訪問權限,并控制所述第一線程訪問所述同一數據資源,以及將所述第一線程的訪問次數加一;
如果不相同,則控制所述第一線程進入休眠狀態。
所述基于同步鎖的多線程處理方法,其中,所述通過所述同步鎖控制具有寫權限線程單獨訪問所述同一數據資源、以及具有讀權限的連續多線程同時訪問所述同一數據資源還包括:
當所述第一線程需要獲取寫訪問權限時,檢測所述同一數據資源是否處于空閑狀態;
當處于空閑狀態時,為所述第一線程配置寫訪問權限,并控制所述第一線程訪問所述同一數據資源。
所述基于同步鎖的多線程處理方法,其中,所述通過所述同步鎖控制具有寫權限線程單獨訪問所述同一數據資源、以及具有讀權限的連續多線程同時訪問所述同一數據資源還包括:
當未處于空閑狀態時,判斷訪問所述同一數據資源的第二線程的類型,其中,所述類型包括讀訪問線程和寫訪問線程;
若所述第二線程的類型為讀訪問線程,則控制所述第一線程進入等待狀態。
所述基于同步鎖的多線程處理方法,其中,所述通過所述同步鎖控制具有寫權限線程單獨訪問所述同一數據資源、以及具有讀權限的連續多線程同時訪問所述同一數據資源還包括:
若所述第二線程的類型為寫訪問線程,則檢測所述第一線程與所述第二線程是否相同;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于惠州TCL移動通信有限公司,未經惠州TCL移動通信有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710842005.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種計量物資流轉管理系統及其方法
- 下一篇:機場商品零售管理系統