zoukankan      html  css  js  c++  java
  • C# 计时器

    C# 计时器

    C#中一共有4中常用的计时器:

    • System.Timers.Timer 和 System.Windows.Forms.Timer ,它的最低识为 1/18s。
    • timeGetTime ,它的最低识别能达到 5ms 。
    • System.Environment.TickCount ,它的最低识别为毫米级。
    • QueryPerformanceCounter,它的最低识别为 1ms。
    //以QueryPerformanceCounter为例:
        public class Program
        {
            //引用Win32 API 中的 QueryPerformanceCounter() 方法
            //该方法引来查询任意时刻高精度计数器的实际值
            [DllImport("Kernel32.dll")]
            private static extern bool QueryPerformanceCounter(out long lpPerformanceCount);
    
            //引用Win32 API 中的 QueryPerformanceFrequency() 方法
            //该方法返回高精度计数器每秒的计数值
            [DllImport("Kernel32.dll")]
            private static extern bool QueryPerformanceFrequency(out long lpFrequency);
    
            public static void Main(string[] args)
            {
                long startTime, endTime;
                long freq;
                if (QueryPerformanceFrequency(out freq) == false)
                {
                    //不支持高性能计时器
                    throw new Win32Exception();
                }
                Thread.Sleep(0);    //让等待线程工作,此例为单线程,可省略
                QueryPerformanceCounter(out startTime); //记录开始时间,精度为1ms
                for (int i=0;i<10000;i++)
                {
                    for (int j = 0; j < 10000; j++)
                    {
                        int temp = 0;
                    }
                }
                QueryPerformanceCounter(out endTime);   //记录结束时间,精度为1ms
                Console.WriteLine((double) (endTime - startTime)*1000/freq+"ms");
                Console.ReadKey();
            }
        }
    
    //Result:
    //412.58911914026ms
    //结果根据个人电脑的性能而有所差别
  • 相关阅读:
    常用日期函数介绍
    常用数学函数介绍
    oracle 常用sql字符函数介绍
    centos6.5 相关命令
    Kettle5.4.0 java.lang.OutOfMemoryError
    oracle多表连接方式Hash Join Nested Loop Join Merge Join
    CONNECT_BY_ROOT
    设置Oracle PL/SQL时间显示格式NLS_TIMESTAMP_FORMAT
    INSTR代替NOT LIKE
    多表插入
  • 原文地址:https://www.cnblogs.com/SilentCode/p/4925307.html
Copyright © 2011-2022 走看看