veröffentlicht am: 22.05.2020 zuletzt aktualisiert am: 07.02.2023
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.
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.
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
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.
"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
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig