[發明專利]分布式系統的線程管理方法和裝置在審
| 申請號: | 201610377759.0 | 申請日: | 2016-05-31 |
| 公開(公告)號: | CN107450978A | 公開(公告)日: | 2017-12-08 |
| 發明(設計)人: | 何余 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京英賽嘉華知識產權代理有限責任公司11204 | 代理人: | 王達佐,馬曉亞 |
| 地址: | 100080 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 分布式 系統 線程 管理 方法 裝置 | ||
技術領域
本申請涉及計算機技術領域,具體涉及互聯網技術領域,尤其涉及分布式系統的線程管理方法和裝置。
背景技術
分布式是指兩個或多個軟件互相共享信息,這些軟件既可以在同一臺計算機上運行,也可以在通過網絡連接起來的多臺計算機上運行。線程是指進程內一個相對獨立的、可調度的執行單元,是系統獨立調度和分派CPU的基本單位指運行中的程序的調度單位。
在Java應用開發中,多線程操作是比較常見的。這其中大多數都是單一進程的線程池模式。但是在使用線程池過程中,如果要控制分布式線程池線程總數量,例如有10個進程時,需要實現只運行一個線程的控制,此時只能人工操控進程線程的開關。并且需要隨時關注進程的運行情況,如宕機時需要手動重啟,配置相對復雜。因此在開發、測試等實際工作中,需要發明一種實現分布式線程池的管理方法,以簡化及控制多線程池的線程數量。
發明內容
本申請的目的在于提出一種改進的分布式系統的線程管理方法和裝置,來解決以上背景技術部分提到的技術問題。
第一方面,本申請提供了一種分布式系統的線程管理方法,所述分布式系統包括至少一個服務器以及運行于所述至少一個服務器上的至少兩個進程,每個進程都對應有一個線程池,其特征在于,所述方法包括:獲取各個線程池申請線程標識的請求;選擇預先設置的線程標識列表中狀態為空閑的線程標識,其中,所述線程標識列表記錄有線程標識以及線程標識的狀態,所述狀態包括空閑和非空閑;向所述 線程池分配所選擇的線程標識,使得所述線程池創建所分配的線程標識對應的線程;將線程標識列表中所述線程對應的線程標識的狀態修改為非空閑。
在一些實施例中,所述選擇預先設置的線程標識列表中狀態為空閑的線程標識,包括:判斷預先設置的線程標識列表中狀態為空閑的線程標識的數量是否大于所述線程池所需線程標識的數目,其中,所述線程池所需線程標識的數目是根據所述線程標識列表中包括的線程標識的總數以及所述線程池的數量確定的;如果是,則選擇所述線程池所需線程標識的數目的預先設置的線程標識列表中狀態為空閑的線程標識;如果否,則選擇預先設置的線程標識列表中所有狀態為空閑的線程標識。
在一些實施例中,所述方法還包括:按照預先設置的第一時間周期,定時獲取各個線程池中線程標識的數目;比較所述各個線程池中線程標識的數目與所述線程池所需線程標識的數目;如果所述線程池中線程標識的數目大于所述線程池所需線程標識的數目,則回收所述線程池的線程標識,使得所述線程池中線程標識的數目與所述線程池所需線程標識的數目相等,并且使得所述線程池銷毀所回收的線程標識對應的線程;如果所述線程池中線程標識的數目小于所述線程池所需線程標識的數目,則向所述線程池分配線程標識,使得所述線程池中線程標識的數目與所述線程池所需線程標識的數目相等,并且使得所述線程池創建所分配的線程標識對應的線程。
在一些實施例中,所述方法還包括:按照預先設置的第二時間周期,定時獲取各個線程池中線程的執行信息,以判斷是否存在因執行時間超過預定時間而被銷毀的線程;如果是,則將所述線程標識列表中被銷毀的線程的線程標識的狀態修改為空閑。
在一些實施例中,所述方法還包括;響應于監測到服務器出現宕機的情況,將所述線程標識列表中運行于所述服務器上的進程對應的線程池中線程的線程標識的狀態修改為空閑狀態;響應于監測到進程的關閉,將所述進程對應的線程池中線程的線程標識的狀態修改為空閑狀態。
第二方面,本申請提供了一種分布式系統的線程管理裝置,所述分布式系統包括至少一個服務器以及運行于所述至少一個服務器上的至少兩個進程,每個進程都對應有一個線程池,其特征在于,所述裝置包括:
請求獲取單元,配置用于獲取各個線程池申請線程標識的請求;選擇單元,配置用于選擇預先設置的線程標識列表中狀態為空閑的線程標識,其中,所述線程標識列表記錄有線程標識以及線程標識的狀態,所述狀態包括空閑和非空閑;分配單元,配置用于向所述線程池分配所選擇的線程標識,使得所述線程池創建所分配的線程標識對應的線程;修改單元,配置用于將線程標識列表中所述線程對應的線程標識的狀態修改為非空閑。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/201610377759.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:任務處理方法及裝置
- 下一篇:運行自動化裝置的方法以及自動化裝置





