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

    Avatarbild von Patrick
    Patrick

    veröffentlicht am: 22.05.2020
    zuletzt aktualisiert am: 07.02.2023

    Die C# sleep-Methode: Programme in C# 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.

    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.

    C# 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

    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!

    😩 Gelangweilt von den Udemy & YouTube-Tutorials?!

    Lerne spielerisch Python, Java & SQL und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.

    TP Star TP Star TP Star TP Star TP Star

    "Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."

    - Lennart Sparbier

    100% kostenlos registrieren · keine Kreditkarte notwendig

    👋 Wir warten bereits auf dich!

    Lerne das, was du wirklich brauchst.

    Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.

    Logo von Python
    Logo von PyTorch
    Logo von Pandas
    Logo von Matplotlib
    Logo von Java
    Logo von NumPy
    Mehr erfahren

    100% kostenlos registrieren · keine Zahlungsdaten notwendig