std mutex的使用備忘

2021-10-04 01:23:19 字數 377 閱讀 4853

在實際測試中,與使用自實現的自旋做同步比較(看上也是自旋),std::mutex在效率上沒有大的差異。

但是當出現競爭時,std::mutex的lock會完全的等待,此時cpu利用率會很高,當然其等待也是有收益的:效率最高。

但是,在一般的應用裡,我們能檢視任何管理器時,我們總是蜜汁不希望cpu滿載(不想讓風扇狂轉?)

降低cpu負載的套路是:使用trylock。不光出讓時間片,還得退出競爭。

當然,隨之帶來的也是效率的下降(-15%?)

我們的測試是基於4c16g硬體。

應用的測試方案是下圖(3p3c):

C 多執行緒庫的常用類 std mutex

格式 類名 標頭檔案 用例 解釋說明 1 類名 mutex 23 標頭檔案 include 4 5用例 6 std mutex m mutex 解釋說明 std mutex c 提供的互斥量,用在多執行緒程式設計中,來保護共享資料。c 中通過例項化std mutex建立互斥量例項,通過成員函式loc...

Git 使用備忘

簡單的 git 使用教程。從服務拷貝 副本到本地 類似 svn checkout 新增本機檔案到伺服器 這個好像沒直接的命令可以檢視,可以去 git 的根目錄下的 git config 裡去看。切換分支。一般在切換分支前需要 git pull 更新到最新。這個命令,還有另外乙個用處,當你想恢復乙個檔...

ICESSL使用備忘

1 任何ice的程式如果試圖使用ssl的安全連線,那麼對應的應用必須載入ssl外掛程式 2 配置程式在啟動過程中載入ssl外掛程式 ice.plugin.icessl icessl createicessl icessl.defaultdir opt certs icessl.certfile pu...