[發明專利]一種線程處理方法和裝置在審
| 申請號: | 202010182394.2 | 申請日: | 2020-03-16 |
| 公開(公告)號: | CN111338803A | 公開(公告)日: | 2020-06-26 |
| 發明(設計)人: | 曹紅陽 | 申請(專利權)人: | 北京達佳互聯信息技術有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 陳蕾 |
| 地址: | 100085 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 線程 處理 方法 裝置 | ||
本公開提供了一種線程處理方法、裝置、電子設備及存儲介質,該方法先使所述目標進程保持預定義負載運行,并根據CPU占用率確定繁忙線程池,再調整繁忙線程池中的線程數量以及其他線程池中的線程數量,使所有線程的數量之和與CPU邏輯核的數量相等,并使不同線程池之間的CPU占用率相近,最后將單個線程與單個CPU邏輯核建立一一對應關系,使任一CPU邏輯核只運行對應的線程。本方法可有效對多線程池場景的線程進行調度,使單個CPU邏輯核只處理單一線程且平均控制每個線程的負載,避免CPU頻繁切換處理線程造成的延遲抖動。
技術領域
本公開涉及計算機技術領域,尤其涉及一種線程處理方法、裝置、電子設備及存儲介質。
背景技術
線程切換和線程調度,是高性能服務器場景下的重要組成部分。若線程數量過多,CPU需要經常切換運行各個線程,而切換過程需要消耗CPU資源,若線程數量過少,則每個線程可能過于繁忙。如何選擇合適的線程數量,如何有效降低線程切換頻率,是業界一直關注的問題。
傳統方案通常只針對單一線程池的進行調度,使單一線程池的工作線程數量與CPU邏輯核數量相等,無法應對具有多個線程池的復雜情況。
發明內容
針對上述技術問題,本公開實施例提供一種線程處理方法,技術方案如下:
根據本公開實施例的第一方面,提供一種線程處理方法,包括:
確定目標進程,并使所述目標進程運行時保持預定義負載;
確定所述目標進程中不同線程池的CPU占用率,根據所述CPU占用率確定繁忙線程池;
增加繁忙線程池中的線程數量,并對應調整其他線程池的線程數量,使所述目標進程的所有線程的數量之和與CPU邏輯核的數量相等,并使不同線程池之間的CPU占用率差值小于預設閾值;
將單個線程與單個CPU邏輯核建立一一對應關系,使任一CPU邏輯核只運行對應的線程。
可選的,所述確定目標進程,并使所述目標進程運行時保持預定義負載之前,還包括:
獲取為每個線程池預先設定的不同線程標識,所述線程池標識用于區分不同線程池。
可選的,所述確定目標進程,并使所述目標進程運行時保持預定義負載,包括:
確定目標進程并生成預定數量的請求消息,通過使所述進程處理所述預定數量的請求消息,使所述目標進程保持運行時保持預定義負載。
可選的,所述確定所述目標進程中不同線程池的CPU占用率,根據所述CPU占用率確定繁忙線程池,包括:
確定所述進程中包括的各個線程池;
針對任一線程池,確定其中所包含的各個線程的CPU占用率的平均值,將所述平均值最高的線程池確定為繁忙線程池。
可選的,所述將單個線程與單個CPU邏輯核建立一一對應關系,包括:
將單個線程與單個CPU邏輯核建立一一對應關系,其中,同一線程池的各個線程優先與同一CPU的邏輯核建立關系。
可選的,所述將單個線程與單個CPU邏輯核建立一一對應關系,使任一CPU邏輯核只運行對應的線程,包括:
通過指定系統接口,將每個線程對應綁定在一個CPU邏輯核上,使任一CPU邏輯核只運行對應綁定的線程。
根據本公開實施例的第二方面,提供一種線程處理裝置,包括:
進程啟動模塊,被配置為確定目標進程,并使所述目標進程運行時保持預定義負載;
繁忙線程池確定模塊,被配置為確定所述目標進程中不同線程池的CPU占用率,根據所述CPU占用率確定繁忙線程池;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京達佳互聯信息技術有限公司,未經北京達佳互聯信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010182394.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:血液剪切損傷模擬裝置
- 下一篇:一種便攜帶式制水水龍頭





