-1

私は、誰かに何かをデモンストレーションするために、このちっぽけな 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
4

1 に答える 1

3

待機のためのループの代わりに (または内部で)、 を使用する必要がありますSystem.Threading.Thread.Sleep(milliseconds)。これにより、CPU スパイクを引き起こすことなくスレッドが一時停止します。

于 2013-01-24T18:14:57.223 に答える