C#中高精度計時器Stopwatch的用法詳解
引言
偶然發(fā)現(xiàn)C# 的計時器類Stopwatch,他特別適合測量運行時間,使用簡單、計時精確。它源于命名空間System.Diagnostics,使用時必須using引用。
經(jīng)典舉例
下面用一秒延時的實例來創(chuàng)建一個最簡單的實例。
(1)啟動和停止方法實例
//按鍵單擊
private void button_watch_Click(object sender, EventArgs e)
{
Console.WriteLine("action_spent_time:" + watch(action));
}
//模擬用戶函數(shù)耗時
private void action()
{
Thread.Sleep(1000);
}
//開始和停止定時器
public static double watch(Action action)
{
//實例化
Stopwatch stopWatch = new Stopwatch();
//啟動定時器
stopWatch.Start();
//用戶任務(wù)
action();
//停止定時器
stopWatch.Stop();
//返回計時器時間
return stopWatch.Elapsed.TotalMilliseconds;
}
打印顯示
action_spent_time:1014.7956
(2)復(fù)位和重啟方法實例
//按鍵單擊
private void button_watch_Click(object sender, EventArgs e)
{
watchResetAndRestart(action);
}
//模擬用戶函數(shù)耗時
private void action()
{
Thread.Sleep(1000);
}
//復(fù)位和重啟計時器時器
public void watchResetAndRestart(Action action)
{
//實例化
Stopwatch stopWatch = new Stopwatch();
//啟動定時器
stopWatch.Start();
//用戶任務(wù)
action();
Console.WriteLine("action:"+ stopWatch.Elapsed.TotalMilliseconds);
//復(fù)位定時器
stopWatch.Reset();
Console.WriteLine("action reset:" + stopWatch.Elapsed.TotalMilliseconds);
//重啟定時器
stopWatch.Restart();
//用戶任務(wù)
action();
Console.WriteLine("action Restart:" + stopWatch.Elapsed.TotalMilliseconds);
//復(fù)位定時器
stopWatch.Reset();
}
}
打印顯示:
action:1000.8485
action reset:0
action Restart:1009.2571
小結(jié)
是不是覺得很簡單。小伙伴們可以用起來。
1、實例中可以看到精度可以得到0.1微秒使用double類型,我認(rèn)為算精度很高的吧,不需要這么高精度可以做運算舍去,或者使用其它的更低精度的屬性,如stopWatch.ElapsedMilliseconds等。
2、復(fù)位reset()和停止Stop()的功能都停止了計時器,但是reset,將時間復(fù)位為0了,這里注意一下就好。
到此這篇關(guān)于C#中高精度計時器Stopwatch的用法詳解的文章就介紹到這了,更多相關(guān)C# Stopwatch內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- C#使用Stopwatch實現(xiàn)計時功能
- C#?Stopwatch實現(xiàn)計算代碼運行時間
- C#中Stopwatch的使用及說明
- C# 中使用Stopwatch計時器實現(xiàn)暫停計時繼續(xù)計時功能
- 如何使用C# Stopwatch 測量微秒級精確度
- .NET/C# 使用Stopwatch測量運行時間
- C#使用StopWatch獲取程序毫秒級執(zhí)行時間的方法
- C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析
- C#中的Timer和DispatcherTimer使用實例
- C#中的三種定時計時器Timer用法介紹
- C#中三種Timer計時器的詳細(xì)用法
- 詳解C#中的定時器Timer類及其垃圾回收機制
- C#使用timer實現(xiàn)的簡單鬧鐘程序
- [C#].NET中幾種Timer的使用實例
- C# 中Stopwatch和timer的實現(xiàn)示例
相關(guān)文章
C#操作Word模擬解析HTML標(biāo)記設(shè)置背景色詳解
這篇文章提出了一種通過HTML標(biāo)記化方式在Word文檔中設(shè)置文字格式及背景色的解決方案,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2026-01-01
DevExpress之ChartControl創(chuàng)建Drill-Down樣式的Title實例
這篇文章主要介紹了DevExpress之ChartControl創(chuàng)建Drill-Down樣式的Title實現(xiàn)方法,以實例形式講述了創(chuàng)建Drill-Down樣式的Title原理與實現(xiàn)過程,需要的朋友可以參考下2014-10-10

