我很快写了这个小小的rinky-dink vb.net控制台应用程序来向某人展示一些东西。当我看到它时,我认为必须有比使用
吃掉周期更好的方法真实
...
结束时
但我不知道它是什么。有什么想法吗?
Module ControlExecutive
Private WithEvents MyTimer As New Timers.Timer
Sub Main()
MyTimer.Interval = 10000
Console.WriteLine("Start timer, interrupt every 10000 ms")
MyTimer.Start()
OuterLoop()
End Sub
Sub OuterLoop()
While True
'wait for timer interrupts
End While
End Sub
Sub HandleTimerInterrupt(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles MyTimer.Elapsed
Console.WriteLine(String.Format("Interrupt at {0}", DateTime.Now))
End Sub
End Module
答案 0 :(得分:3)
您应该使用System.Threading.Thread.Sleep(milliseconds)
而不是(或在内部)等待循环。这将暂停线程而不会导致CPU峰值。