Du liest:
C# Sleep: Programme in C# pausieren (mit Codebeispielen)

C# Sleep: Programme in C# pausieren (mit Codebeispielen)

von Patrick
22.05.2020
Mit C# sleep Programme pausieren

In vielen Programmen ist es nötig, die Ausführung für ein paar Sekunden oder Minuten zu unterbrechen. Hierfür können wir in C# die Methode Sleep verwenden. Wie das geht, zeige ich dir in diesem Artikel.

1. So pausierst du Programme mit der C# Sleep Funktion

Sleep ist Teil von System.Threading. Wenn du mehr über Threads wissen möchtest, ist dieser Wikipedia-Artikel ein guter Startpunkt. Ansonsten musst du für diesen Teil des Artikels nur Wissen, dass Sleep eine Methode von Thread ist.

Du kannst an Sleep die Anzahl an Milisekunden übergeben, die gewartet werden soll.

Console.WriteLine("Hello World!");
Thread.Sleep(3000);
Console.WriteLine("3 Sekunden später...");

Im vorigen Beispiel wird zunächst der String „Hello World!“ ausgegeben, 3 Sekunden später wird der nächste String ausgegeben.

Zudem akzeptiert die Methode auch ein Objekt von TimeSpan als Parameter. TimeSpan stellt 5 verschiedene Konstruktoren zur Verfügung. Für das folgende Beispiel werde ich einen Konstruktor wählen, der als Parameter Stunden, Minuten und Sekunden akzeptiert, jeweils als Integer.

Console.WriteLine("Hello World!");
TimeSpan time_span = new TimeSpan(0, 0, 1);
Thread.Sleep(time_span);
Console.WriteLine("1 Sekunde später...");

Dieses Beispiel hat erst den String „Hello World!“ ausgegeben, bevor eine Sekunde gewartet wurde und der nächste String in der Konsole ausgegeben wurde.

2. Sleep mit mehreren Threads

Für das nächste Beispiel, in dem Sleep auf verschiedene Threads angewendet wird, nehme ich die folgende Klasse als Basis:

public class Test {
    public void test_1() {
        for (int x = 0; x < 2; x++) {
            Console.WriteLine("test_1 wird ausgeführt");
            Thread.Sleep(3000);
        }
    }

    public void test_2() {
        for (int x = 0; x < 3; x++) {
            Console.WriteLine("test_2 wird ausgeführt");
        }
    }
}

Von dieser Klasse kann nun ein Objekt erstellt werden. Die Methoden dieses Objektes wiederum können dann in verschiedenen Threads ausgeführt werden.

public class ThreadBeispiel {
    public static void Main() {
        Test objekt = new Test();
        Thread thread1 = new Thread(new ThreadStart(objekt.test_1));
        Thread thread2 = new Thread(new ThreadStart(objekt.test_2));
        thread1.Start();
        thread2.Start();
    }
}
test_1 wird ausgeführt
test_2 wird ausgeführt
test_2 wird ausgeführt
test_2 wird ausgeführt
test_1 wird ausgeführt

3. Fazit

Mit der C# Sleep-Funktion fällt es uns leicht, die Ausführung eines Programmes, um einen festgelegten Zeitraum zu pausieren. Wenn wir mehrere Threads in unseren Programmen benutzen, können wir damit sogar einzelne Threads pausieren. 

Wenn du noch Fragen, Bemerkungen, Kritik oder Lob hast, lass es mich bitte mit einem Kommentar wissen!



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren