2015-04-17 146 views
1

自旋鎖(忙等待鎖)比互斥鎖睡眠更有效的非常短的 關鍵部分。假設系統的上下文切換時間( 保存當前進程並加載下一個時間所需的時間)爲時間T.關鍵部分 多長時間才能更有效地使用互斥鎖睡眠鎖,而不是自旋鎖?自旋鎖VS互斥鎖定睡眠

回答

0

這取決於具體情況。你願意在紡紗上燒幾分鐘的時間來快速醒來?

英特爾曾經說過20個週期。但是,這在很多時候都是在更多的線程上進行的,而不是內核。

如果您等待的線程對你來說非常關鍵,它就會有它自己的專用核心,你不會介意永遠自旋爲終極最快醒的好處。

如果它比不太重要,其核心是與其他線程共享,你可能想給的CPU時間,以其他線程。如果你不這樣做,操作系統最終會爲你做到這一點,但顯然這不是最佳的。

底線 - 測試並查看性能差異,然後重新迭代,重新測試等。