最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#精確到納秒級(jí)別的計(jì)時(shí)器類實(shí)現(xiàn)代碼

 更新時(shí)間:2021年08月21日 11:03:21   作者:晨晞gg  
這篇文章主要介紹了C#精確到納秒級(jí)別的計(jì)時(shí)器類,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

主要用到了win32里面的QueryPerformanceCounter和QueryPerformanceFrequency兩個(gè)函數(shù)

文檔鏈接:https://docs.microsoft.com/zh-cn/windows/win32/api/profileapi/nf-profileapi-queryperformancecounter

class NanoSecondTimer
    {

        [DllImport("Kernel32.dll")]
        private static extern bool QueryPerformanceCounter(out long lpPerformanceCount);

        [DllImport("Kernel32.dll")]
        private static extern bool QueryPerformanceFrequency(out long lpFrequency);

        private long startTime, stopTime;
        private long freq;
        public NanoSecondTimer()
        {
            startTime = 0;
            stopTime = 0;
            if (QueryPerformanceFrequency(out freq) == false)
            {
                throw new Win32Exception();
            }
        }

        /// <summary>
        /// 開始計(jì)時(shí)
        /// </summary>
        public void Start()
        {
            Thread.Sleep(0);
            QueryPerformanceCounter(out startTime);
        }

        /// <summary>
        /// 停止計(jì)時(shí)
        /// </summary>
        public void Stop()
        {
            QueryPerformanceCounter(out stopTime);
        }

        /// <summary>
        ///  返回計(jì)時(shí)器經(jīng)過時(shí)間(單位:秒)
        /// </summary>
        public double Duration
        {
            get
            {
                return (double)(stopTime - startTime) / (double)freq;
            }
        }
    }

QueryPerformanceFrequency這個(gè)函數(shù)會(huì)檢索性能計(jì)數(shù)器的頻率。性能計(jì)數(shù)器的頻率在系統(tǒng)啟動(dòng)時(shí)是固定的,并且在所有處理器上都是一致的。因此,只需在應(yīng)用初始化時(shí)查詢頻率,即可緩存結(jié)果。在運(yùn)行 Windows XP 或更高版本的系統(tǒng)上,該函數(shù)將始終成功,因此永遠(yuǎn)不會(huì)返回零。

下面是測(cè)試代碼:

NanoSecondTimer nanoSecondTimer = new NanoSecondTimer();
            nanoSecondTimer.Start();
            for (int i = 0; i < 100000; i++)
            {
                i++;
            }
            nanoSecondTimer.Stop();
            double time = nanoSecondTimer.Duration;

到此這篇關(guān)于C#精確到納秒級(jí)別的計(jì)時(shí)器類的文章就介紹到這了,更多相關(guān)C#計(jì)時(shí)器類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#編寫ActiveX網(wǎng)頁截圖控件

    C#編寫ActiveX網(wǎng)頁截圖控件

    這篇文章主要介紹了C#編寫ActiveX網(wǎng)頁截圖控件,作為學(xué)習(xí)C#編寫ActiveX的一個(gè)簡單入門教程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 淺談C#中的for循環(huán)與foreach循環(huán)

    淺談C#中的for循環(huán)與foreach循環(huán)

    本篇文章主要介紹了C#中的for循環(huán)與foreach循環(huán)的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-05-05
  • WinForm生成驗(yàn)證碼圖片的方法

    WinForm生成驗(yàn)證碼圖片的方法

    這篇文章主要介紹了WinForm生成驗(yàn)證碼圖片的方法,涉及WinForm字符串及圖形操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • C#串口通信工具類的封裝

    C#串口通信工具類的封裝

    這篇文章主要為大家詳細(xì)介紹了C#串口通信工具類封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 淺談C#中對(duì)引用類型的誤解

    淺談C#中對(duì)引用類型的誤解

    這篇文章主要介紹了淺談C#中對(duì)引用類型的誤解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Winform圓形環(huán)繞的Loading動(dòng)畫實(shí)現(xiàn)代碼

    Winform圓形環(huán)繞的Loading動(dòng)畫實(shí)現(xiàn)代碼

    這篇文章主要介紹了Winform圓形環(huán)繞的Loading動(dòng)畫實(shí)現(xiàn)代碼,有需要的朋友可以參考一下
    2014-01-01
  • 基于C#設(shè)計(jì)一個(gè)雙色球選號(hào)工具

    基于C#設(shè)計(jì)一個(gè)雙色球選號(hào)工具

    這篇文章主要為大家詳細(xì)介紹了如何利用C#設(shè)計(jì)實(shí)現(xiàn)一個(gè)雙色球選號(hào)工具,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • C#中緩存System.Web.Caching用法總結(jié)

    C#中緩存System.Web.Caching用法總結(jié)

    本文詳細(xì)講解了C#中緩存System.Web.Caching的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • C#操作SQLite數(shù)據(jù)庫方法小結(jié)(創(chuàng)建,連接,插入,查詢,刪除等)

    C#操作SQLite數(shù)據(jù)庫方法小結(jié)(創(chuàng)建,連接,插入,查詢,刪除等)

    這篇文章主要介紹了C#操作SQLite數(shù)據(jù)庫方法,包括針對(duì)SQLite數(shù)據(jù)庫的創(chuàng)建,連接,插入,查詢,刪除等操作,并提供了一個(gè)SQLite的封裝類,需要的朋友可以參考下
    2016-07-07
  • Dictionary擴(kuò)展基礎(chǔ)類向字典中添加鍵和值

    Dictionary擴(kuò)展基礎(chǔ)類向字典中添加鍵和值

    Dictionary<TKey, TValue> 類是常用的一個(gè)基礎(chǔ)類,但用起來有時(shí)確不是很方便。本文逐一討論,并使用擴(kuò)展方法解決
    2013-11-11

最新評(píng)論

新宁县| 岳阳县| 牡丹江市| 绥滨县| 大庆市| 上犹县| 扎兰屯市| 富锦市| 色达县| 邵阳市| 江陵县| 柞水县| 永靖县| 同心县| 广东省| 高邑县| 淮阳县| 日喀则市| 都江堰市| 庆安县| 汨罗市| 清水县| 磐安县| 措勤县| 崇义县| 息烽县| 清原| 吉安县| 醴陵市| 加查县| 盐城市| 西峡县| 清新县| 綦江县| 东城区| 襄汾县| 金坛市| 庆安县| 永济市| 开原市| 临猗县|