1. 程式人生 > 其它 >計算機是如何實現高精度、對效能沒有較大影響的定時器的?

計算機是如何實現高精度、對效能沒有較大影響的定時器的?

  一、計算機是如何實現高精度、對效能沒有較大影響的定時器的?

因為如果讓我自己去實現的,我就只能寫個for迴圈不停的判斷當前系統時間是否到達指定時間

時鐘中斷我知道,但是中斷的前提是達到臨界條件,而這個臨界條件就需要不停的去比較。我理解的這個定時器的精度就取決於 "比較的頻率" ,例如1秒比較100次這種。那 "執行比較"的這個動作如果是放在使用者空間的程序或執行緒執行緒裡,可能會由於cpu上下文切換導致錯過執行任務(實際情況沒有),所以"執行比較"這個動作應該是放在核心空間裡執行的,這樣才沒有上下文切換的問題。

  如果比較的動作放在核心空間,所有定時任務的列表也應該是在核心裡維護了一張表格。按照核心對效能的渴求,定時任務的表不可能是無限大的,必定是有限制的。但是目前在我的開發過程中沒有遇到說定時任務數量超過限制的情況。