Wie funktionieren Timer in .NET?

8

Ich habe eine Konsolenanwendung in C # programmiert, und mein Code war wie folgt:

%Vor%

Ich bemerkte, dass die Speicherauslastung meiner Anwendung ungefähr 14.000 war, während ich "schlief". Aber dann habe ich System.Windows.Forms referenziert und stattdessen einen Timer verwendet, und ich bemerkte einen enormen Abfall der Speicherauslastung.

Meine Frage ist, was ist der richtige Weg, um etwas alle paar Sekunden auszuführen, ohne so viel Speicher zu verbrauchen?

    
method 13.01.2013, 16:11
quelle

2 Antworten

12

Sie sollten System.Timers.Timer

verwenden

Fügen Sie eine Methode hinzu, die das Ereignis Elapsed behandelt und den gewünschten Code ausführt. In Ihrem Fall:

%Vor%

Hier ist ein guter Beitrag zum Unterschied zwischen den beiden Timers :

Schaliasos 13.01.2013, 16:18
quelle
4

Sie müssen Timer class verwenden.

Es gibt mehrere integrierte Timer ( System.Timers.Timer , System.Threading.Timer , System.Windows.Forms.Timer , System.Windows.Threading.DispatcherTimer ) und es hängt von der Anforderung ab, welcher Timer verwendet werden soll.

Lesen Sie diese Antwort, um zu erfahren, wo welcher Timer verwendet werden soll.

Nachfolgend finden Sie eine interessante Lektüre.
Vergleichen der Timer-Klassen in der .NET Framework-Klassenbibliothek

    
Tilak 13.01.2013 16:22
quelle

Tags und Links