spinlock同步能力測試

2021-10-03 19:49:35 字數 847 閱讀 4634

硬體:

硬體型號:筆記本

處理器:intel core i5-4310u cpu @ 2.00ghz(4 cpus)

記憶體:16g

硬碟:512固態

測試方案:使用以下的**進行比對測試(10個執行緒,每個執行緒加數10;迴圈10000

#include class threadpara 

public:

void increment()

};void threadtaskproc(threadpara &threadpara)

}void tests::test()

for (auto& t: threads)

}debugutil::timewriteline("thread condition test end");

}

測試結果

執行10000次的測試結果:

1、不使用spinlock進行同步時,總耗時300秒;

2、使用spinlock進行同步時,總耗時319秒

3、使用qmutex實現synclock,進行同步時,總耗時310秒

以上的情況令人疑惑

執行1000次的測試結果:

1、不使用spinlock進行同步時,總耗時31秒;

2、使用spinlock進行同步時,總耗時34秒;

3、使用qmutex實現synclock,進行同步時,總耗時38秒。

執行緒同步 自旋鎖 SpinLock

自旋鎖 spinlock 是指當乙個執行緒在獲取鎖的時候,如果鎖已經被其它執行緒獲取,那麼該執行緒將迴圈等待,然後不斷的判斷鎖是否能夠被成功獲取,直到獲取到鎖才會退出迴圈。什麼情況下使用自旋鎖 自旋鎖非常有助於避免阻塞,但是如果預期有大量阻塞,由於旋轉過多,您可能不應該使用自旋鎖。當鎖是細粒度的並且...

Linux能力測試

測試用的表結構及測試使用者資料,請參見壓縮包中的books.sql。此應用由兩台linux伺服器 虛擬機器 組成,一台是web伺服器,一台是資料庫伺服器。兩台虛擬機器在vmware workstation的nat網路,ip位址規劃如上圖所示。例如 使用centos stream 8 x86 64 2...

測試經理能力要求

中層經理人不論是作為一名執行者 還是一名領導者,都必須通過別人來完成任務。要做個 服眾 的經理人,應該有意識地提高以下八項能力 1.領悟能力 做任何一件事以前,一定要先弄清楚上司希望你怎麼做,然後以此為目標來把握做事的方向,這一點很重要,千萬不要一知半解就開始埋頭苦幹,到頭來力沒少出 活沒少幹,但結...