【发布时间】:2014-04-15 10:42:45
【问题描述】:
我需要以微秒为单位延迟一些代码的处理时间。 我尝试了很多诸如thread.Sleep(x)之类的东西,但它只有毫秒级的分辨率。
我在 MS Visual Studio 2013 中使用 .NET 2.0。
【问题讨论】:
-
为什么在 2014 年使用 .net 2?
我需要以微秒为单位延迟一些代码的处理时间。 我尝试了很多诸如thread.Sleep(x)之类的东西,但它只有毫秒级的分辨率。
我在 MS Visual Studio 2013 中使用 .NET 2.0。
【问题讨论】:
System.Diagnostics.Stopwatch
允许您获得非常小的(几纳秒)滴答,您可以使用this 将其转换为微秒。然后你可以让一个空的while 循环,只要你需要。
编辑:.NET 2.0 甚至支持它。
【讨论】:
Thread.SpinWait() 而不是空的while 循环,因为“SpinWait 执行的代码旨在防止可能在具有多个处理器的计算机上发生的问题” .