[發明專利]一種多線程鏈表處理方法、裝置及計算機可讀存儲介質有效
| 申請號: | 201910763250.3 | 申請日: | 2019-08-19 |
| 公開(公告)號: | CN110598054B | 公開(公告)日: | 2021-11-23 |
| 發明(設計)人: | 湯紅燕;王峰;方皓;莫易;孫暢;唐毅龍;陳麗潔 | 申請(專利權)人: | 桂林長海發展有限責任公司 |
| 主分類號: | G06F16/901 | 分類號: | G06F16/901;G06F9/46;G06F9/52 |
| 代理公司: | 北京輕創知識產權代理有限公司 11212 | 代理人: | 陳振玉 |
| 地址: | 541001 廣西*** | 國省代碼: | 廣西;45 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多線程 處理 方法 裝置 計算機 可讀 存儲 介質 | ||
本發明提供一種多線程鏈表處理方法、裝置及計算機可讀存儲介質,方法包括:創建主線程和多個子線程,將鏈表載入主線程中,狀態信息包括已處理標識和未處理標識;子線程啟動后從鏈表中獲取一個未處理標識的目標節點,對目標節點的數據進行數據處理,如果處理成功,則在鏈表中將其狀態信息更新為已處理標識,并重新從鏈表中獲取下一節點;主線程在經更新后的鏈表中對各個節點進行遍歷,遍歷過程中將狀態信息為已處理標識的節點刪除。采取主線程和多個子線程共同處理數據的方式,在鏈表的數據中加入節點的狀態信息,多個子線程并行處理鏈表中節點的數據,無需考慮對其它子線程的影響,數據處理效率得到提升,鏈表也不容易受到破壞。
技術領域
本發明主要涉及線程處理技術領域,具體涉及一種多線程鏈表處理方法、裝置及計算機可讀存儲介質。
背景技術
目前行業中線程間的數據同步都是采用線程鎖的方式,當某個線程需要操作鏈表時創建一個線程鎖把鏈表鎖住,待業務處理完畢后再把鎖打開;在鏈表鎖住期間其他鏈表將不能對鏈表進行操作,一直等待鎖被打開才能進行業務處理;如果某個線程業務處理出現異常時經常出現被死鎖的情況;程序運行時也有可能存在某個時間線程鎖失效的情況,此時多個線程同時處理鏈表時,會出現鏈表迭代異常的情況。
發明內容
本發明所要解決的技術問題是針對現有技術的不足,提供一種多線程鏈表處理方法、裝置及計算機可讀存儲介質。
本發明解決上述技術問題的技術方案如下:一種多線程鏈表處理方法,包括如下步驟:
創建主線程和多個子線程,并設置多個所述子線程的啟動信息,所述啟動信息包括各個所述子線程啟動順序;
啟動所述主線程,并根據所述啟動信息對各個所述子線程進行啟動,將鏈表載入所述主線程中,所述鏈表包括多個節點以及各個所述節點對應的狀態信息和業務數據,所述狀態信息包括已處理標識和未處理標識;
所述子線程啟動后從所述鏈表中獲取一個狀態信息為未處理標識的目標節點,對所述目標節點的業務數據進行數據處理,如果處理成功,則在所述鏈表中將其狀態信息更新為已處理標識,并重新從所述鏈表中獲取下一節點;
所述主線程在經更新后的鏈表中對各個節點進行遍歷,遍歷過程中將狀態信息為已處理標識的節點刪除。
本發明解決上述技術問題的另一技術方案如下:一種多線程鏈表處理裝置,包括:
線程創建模塊,用于創建主線程和多個子線程,并設置多個所述子線程的啟動信息,所述啟動信息包括各個所述子線程啟動順序;
啟動模塊,用于啟動所述主線程,并根據所述啟動信息對各個所述子線程進行啟動,將鏈表載入所述主線程中,所述鏈表包括多個節點以及各個所述節點對應的狀態信息和業務數據,所述狀態信息包括已處理標識和未處理標識;
所述子線程,用于啟動后從所述鏈表中獲取一個狀態信息為未處理標識的目標節點,對所述目標節點的業務數據進行數據處理,如果處理成功,則在所述鏈表中將其狀態信息更新為已處理標識,并重新從所述鏈表中獲取下一節點;
所述主線程,用于在經更新后的鏈表中對各個節點進行遍歷,遍歷過程中將狀態信息為已處理標識的節點刪除。
本發明解決上述技術問題的另一技術方案如下:一種多線程鏈表處理裝置,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,當所述處理器執行所述計算機程序時,實現如上所述的多線程鏈表處理方法。
本發明解決上述技術問題的另一技術方案如下:一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,當所述計算機程序被處理器執行時,實現如上所述的多線程鏈表處理方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于桂林長海發展有限責任公司,未經桂林長海發展有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910763250.3/2.html,轉載請聲明來源鉆瓜專利網。





