100ns为单位的数据还低?!
你去查查哪个的Api可以提供更高的
java还只有ms呢。
你去查查哪个的Api可以提供更高的
java还只有ms呢。
解决方案 »
- 一个关于文本文件读入和字符串数据处理的问题
- DataGridView问题,疑难问题请教高手!!!!!!!!!
- C#备份Oracle数据库
- winform程度中的GridView如何禁使用回车键。
- C# picturebox透明问题
- 这里有很多C#和.NET资料。但是英文版的,谁能翻译下?
- 如何用C#编写一个可以被ASP调用的COM组件?
- 一个关于“登录、退出”的权限问题
- C# MYSQL mysqlcommand报错Fatal error encountered during command execution.
- 大家有没有遇到以下奇怪现象?!
- 请教.net中的数据类型问题
- 怎样获得CSDN电子期刊的阅览器,谢谢
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Threading;namespace Win32
{
internal class HiPerfTimer
{
[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 HiPerfTimer()
{
startTime = 0;
stopTime = 0; if (QueryPerformanceFrequency(out freq) == false)
{
// 不支持高精度计时
throw new Win32Exception();
}
}
// 计时开始
public void Start()
{
Thread.Sleep(0); QueryPerformanceCounter(out startTime);
}
// 计时结束
public void Stop()
{
QueryPerformanceCounter(out stopTime);
}
// 持续时间,单位秒
public double Duration
{
get
{
return (double)(stopTime - startTime) / (double) freq;
}
} public static void Main()
{ HiPerfTimer pt = new HiPerfTimer();
pt.Start();
Console.WriteLine("简单代码来测试高精度计时器\n");
pt.Stop();
Console.WriteLine("持续时间: {0} sec\n", pt.Duration); Console.ReadLine();
}
}
}