CPU Zeit, system auslastung



  • Hallo Leute,

    ich hab mal testhalber ne klasse gemacht, welche nen timer implementiere der jede sekunden ein event wirft... nach dem der timer initialisert wurde und läuft geh ich in ne endlosschleife "while(true);"

    Ich dachte eingentlich, da durch diese while die volle CPU zeit verwendet wird, und er so den timer nich mehr ausfüheren dürfte...

    class foo{
    
           System.Timers.Timer m_t = new System.Timers.Timer();
    
           public  void Ontimer(object obj,System.Timers.ElapsedEventArgs ar)
           {
               Console.WriteLine("TIMER TICK");
           }
    
           public test()
           {
               m_t.Interval = 1000;
               m_t.Elapsed += new System.Timers.ElapsedEventHandler(Ontimer);
               m_t.Enabled = true;
               Console.WriteLine("Timer an, nun in endlosschleife!");
               while (true) ;
           }
       }
    

    Wenn das system nun in der while hängt, düfte doch keine zeit mehr übrig sein.. das OnTimer event zu feuern.. oder hab ich grad ne denkblockade 🤡



  • Zitat aus der MSDN:

    Das Elapsed-Ereignis wird in einem ThreadPool-Thread ausgelöst. Wenn die Verarbeitung des Elapsed-Ereignisses länger als Interval dauert, wird das Ereignis möglicherweise erneut in einem weiteren ThreadPool-Thread ausgelöst. Daher sollte der Ereignishandler wiedereintrittsfähig sein.

    oder hab ich grad ne denkblockade

    Kannst ja Deinen Arbeitgeber verraten. Wir senden ihm dann ausgewählte Fragen von Dir und lassen ihn die Antwort für Dich erörtern.


Anmelden zum Antworten