长期运行的过程

时间:2013-01-24 18:03:40

标签: vb.net timer interrupt long-running-processes

我很快写了这个小小的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

1 个答案:

答案 0 :(得分:3)

您应该使用System.Threading.Thread.Sleep(milliseconds)而不是(或在内部)等待循环。这将暂停线程而不会导致CPU峰值。