C#中的計時類

Stopwatch 實例可以測量一個時間間隔的運行時間,也可以測量多個時間間隔的總運行時間。

在典型的 Stopwatch 方案中,先調用 Start 方法,然後調用 Stop 方法,最後使用 Elapsed 屬性檢查運行時間。

Stopwatch 實例或者在運行,或者已停止;使用 IsRunning 可以確定 Stopwatch 的當前狀態。使用Start 可以開始測量運行時間;使用 Stop 可以停止測量運行時間。通過屬性 ElapsedElapsedMillisecondsElapsedTicks 查詢運行時間值。當實例正在運行或已停止時,可以查詢運行時間屬性。運行時間屬性在Stopwatch 運行期間穩固遞增;在該實例停止時保持不變。

默認情況下,Stopwatch 實例的運行時間值相當於所有測量的時間間隔的總和。每次調用 Start 時開始累計運行時間計數;每次調用Stop 時結束當前時間間隔測量,並凍結累計運行時間值。使用 Reset 方法可以清除現有 Stopwatch 實例中的累計運行時間。

Stopwatch 在基礎計時器機制中對計時器的刻度進行計數,從而測量運行時間。如果安裝的硬件和操作系統支持高分辨率性能的計數器,則Stopwatch 類將使用該計數器來測量運行時間;否則,Stopwatch 類將使用系統計數器來測量運行時間。使用Frequency IsHighResolution 字段可以確定實現 Stopwatch 計時的精度和分辨率。

Stopwatch 類爲託管代碼內與計時有關的性能計數器的操作提供幫助。具體說來,Frequency 字段和GetTimestamp 方法可以用於替換非託管 Win32 API QueryPerformanceFrequencyQueryPerformanceCounter

使用Stopwatch需要使用System.Diagnostics命名空間

 

發佈了26 篇原創文章 · 獲贊 21 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章