有沒有比秒錶更精確的「睡眠」方法?或者,有沒有辦法讓秒錶類更準確?它不一定要在.NET中,它可以用C++語言編寫,但無論它使用何種語言,都必須精確到1ms;我不需要那麼多。假如我想讓我的程序「睡」300ms,我希望它至少在大部分時間內能夠睡300ms。更準確的秒錶(VB.NET)
目前我使用:
Dim StopWatch As New StopWatch
StopWatch.Start
Do
Loop Until StopWatch.ELapsed.Milliseconds >= 300
StopWatch.Stop
我的結果運行5次分別爲:306,305,315,327,304
它留樣,如果我跑更多。
我把我的線程和進程優先級設置爲「實時」/「高」。
我記得曾讀到一個alternatie在秒錶:HTTP:// www.amazon.de/Microsoft-Visual-Basic-2010-Entwicklerbuch/dp/3866455356/ref=sr_1_2?ie=UTF8&qid=1355735382&sr=8-2 你也可以嘗試:http://www.drewnoakes.com/code /util/StopWatches.html –
@ChristianSauer:Stopwatch的所有「替代品」(我知道)都是這樣做的,Stopwatch類所做的是:使用HPET(如果可用)。他們中的大多數在Framework 1.1中「發明」,因爲Stopwatch課程僅在FW 2.0中提供。秒錶類是準確的 - 如果HPET可用。如果沒有HPET,那麼我不知道任何可以產生相似準確度的替代方案。 – igrimpe