2013-01-24 4 views
-1

Я быстро написал это маленькое консольное приложение rinky-dink vb.net, чтобы что-то продемонстрировать кому-то. Когда я должен смотреть на него, я думал, что должно быть лучше, чем съедает циклов с использованиемLong Running Process

Хотя Истинного

...

Конца Хотя

, но я понятия не имею, что это. Есть предположения?

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

Я бы добавил «Thread.Sleep» внутри цикла, чтобы «легко перейти» на CPU ... – xfx

ответ

3

Вместо (или внутри) петля для ожидания, вы должны использовать System.Threading.Thread.Sleep(milliseconds). Это приостанавливает поток, не вызывая всплеск процессора.