C# Schlaf

C# Schlaf

In C Sharp verwenden wir Faden, um unterschiedliche Aufgaben im Betriebssystem auszuführen. Diese Threads können je nach Aufgabe, die wir zugewiesen haben, viele Funktionen ausführen. Jede Aufgabe erfolgt abhängig von der Prioritätsbasis. Zu einer Zeit verarbeitet mehr als ein Thread, so. Während wir also die Aufgaben beim Multithreading priorisieren, verwenden wir eine Methode, die einen Thread für einige Zeit vorübergehend ausnutzt und es für eine Weile ruht, damit andere Threads in dieser Zeit die Chance haben, zuerst auszuführen.

Danach führten diese Fäden, die suspendiert wurden. Dies geschieht durch eine Schlafmethode. In C Sharp beschlagnahmt die Schlafmethode die aktuelle Ausführung des Threads für im Programm angegebene Millisekunden. Eine Sleep () -Methode kann auf zwei Arten angewendet werden.

  • Schlaf (Milisekunden);
  • Schlaf (Timesspan);

In dieser Anleitung werden beide Methoden zur Erklärung des Konzepts der Sleep () -Funktion beim Threading verwendet, indem C Sharp im Linux -Betriebssystem verwendet wird.

Syntax

# öffentlicher statischer Schlaf (int Millisekunden);

Die INT -Typ -Variable für Millisekunden enthält eine Zahl in Millisekunden, um den Thread für diese angegebene Zeit auszusetzen.

Während die Zeit in Millisekunden als Parameter für die Schlaffunktion initialisiert wird, wird der Thread, wenn der Wert des Arguments der Millisekunden Null ist. Wenn kein anderer Thread die gleiche Priorität hat, wird die Ausführung des ersten Threads nicht eingestellt und wird weiterhin ausgeführt.

Beispiel 1: Schlaffunktion mit Millisekunden

Wie wir wissen, befasst sich die Schlafmethode mit dem Multithreading -Prozess. Themen sind ein wichtiger Bestandteil unseres Betriebssystems, das viele Funktionen gleichzeitig übernimmt und Multitasking durchführt. Wie oben beschrieben, hilft die Schlaffunktion, die Aufgabe zu priorisieren, indem er einen Thread in Multithreading ausruht. Das gleiche Konzept wird in diesem Beispiel durchgeführt. Um mit dem Beispiel fortzufahren, werden wir zunächst die Verwendung der Bibliotheken erklären. Die Systembibliothek ist für Klassen, Objekte und andere Containertypen bestimmt. Während das System.Threading ist eine zusätzliche Bibliothek, die speziell für den Threading -Prozess enthalten ist.

# System mit System;
# System verwenden.Fäden;

Zwei Funktionen werden hier mit Thread1 () und Thread2 () deklariert. Beide Funktionen sind nicht statisch. Das heißt, sie werden nicht vererbt oder können in keiner anderen Klasse weiter verwendet werden. Mit anderen Worten, beide Funktionen sind unabhängig. In der ersten Funktion, Thread1 (), haben wir eine für die Schleife verwendet, die nur zweimal iteriert und die Meldung angezeigt wird, dass Thread1 funktioniert. In der Schleife wird die Sleep () -Methode verwendet. Dies wird verwendet, um die Arbeit des Threads für einige Zeit zu pausieren. Wir haben diese Funktion in 4 Sekunden deklariert.

Durch die Verwendung der Schlafmethode wird die Arbeit des Fadens für 4 Sekunden lang beschlagnahmt.

# Gewinde.Schlaf (4000);

Diese Thread -Methode wird über den Thread selbst zugegriffen.

In ähnlicher Weise wird eine andere Funktion deklariert, bei der es sich um einen Thread handelt (). Dies enthält auch eine 'für' Schleife, damit sie auch zweimal wiederholt werden kann, und jedes Mal, wenn es die Nachricht zeigt, dass Thread2 funktioniert. Diese Methode ist auch eine nicht statische Methode. Dort werden wir die Schlaffunktion in der Schleife nicht verwenden.

Nach beiden Methoden werden wir das Hauptprogramm deklarieren. Da die Fäden in C Sharp in der Klasse deklariert werden, ist es obligatorisch, die Instanz des Threads zu erstellen. Diese Objektinstanz wird zum Erstellen der Threads weiterhin verwendet. Der Name der Klasse wird entlang erwähnt.

# BeispielOFThread obj = neu BeispielOfThread ();

Die Methode, die MyThread erstellt wird. Wir werden dieses Objekt verwenden, um die Threads zu erstellen und sie dann initialisieren.

Durch die Verwendung der angehängten zwei Anweisungen werden die Objekte für die Threads erstellt. Danach werden wir die Threads mit den Thr1- und Thr2 -Objekten starten.

# Thr1.Start();
# Thr2.Start();

Speichern Sie nun die Datei. Und wir werden einen Compiler verwenden, um den obigen Quellcode zu kompilieren. Dies ist MCs, die für die Zusammenstellung in C Sharp verwendet werden. Darüber hinaus findet nach der Zusammenstellung die Ausführung des Codes statt. Mono wird verwendet, um den Code mit dem auszuführen .EXE -Erweiterung der Datei, damit sie ausführbar ist.

$ Mcs Datei.CS
$ mono -Datei.exe

Bei der Ausführung des Code können Sie sehen, dass der erste und der zweite Thread ausgeführt werden und der erste Thread später ausgeführt wird, während das Objekt des ersten Threads vor dem zweiten erstellt wird. Und der erste Thread beginnt zuerst und nicht der zweite Thread. Dies liegt an der Schlaffunktion, die wir in der ersten Fadenschleife verwendet haben.

Dieses Programm funktioniert so, dass die Schlaffunktion initialisiert wird, wenn der erste Thread aufgerufen wird, und der Faden für 4 Sekunden einschläfern. Der zweite Thread wird ausgeführt und zeigt die Anweisung 2 Mal gemäß der Schleife an. Während dieser Zeit hat die Schlaffunktion ihre Zeit von 4 Sekunden abgeschlossen. Jetzt wird es also verarbeitet und zeigt die Anweisung zweimal an.

Beispiel 2: Schlaffunktion mit Timesspan

Dieses Beispiel verwendet einen Zeitraum von einigen Sekunden. Jede Anweisung innerhalb der Thread -Funktion wird für den angegebenen Zeitraum mit einer Zeitlücke ausgeführt. Dies zeigt uns, dass der Faden für einen bestimmten Zeitraum schläft. Lassen Sie uns dieses Konzept sehen, indem wir ein Beispiel demonstrieren. In der Klasse werden wir im Hauptprogramm zunächst den Zeitüberschreitungswert in der Variablen deklarieren. Dieser Wert wird dynamisch mit dem "neuen" Operator deklariert. Der Keyword -Timesspan zeigt, dass die Zeitüberschreitungsvariable vom Typ Zeitspanner ist.

# TimesPan Timeout = new Timesspan (0, 0, 3);

Wir werden eine für die Schleife verwenden, um zu iterieren, bis die Iteration das dritte Mal erreicht. Die Schleife zeigt die Nachricht an, dass der Thread 3 Sekunden lang schläft. In der für Schleife werden wir die Schlafmethode von Timespan verwenden. Diese Methode wird durch den Thread aufgerufen und enthält die Zeitspanne als Parameter.

# Gewinde.Schlaf (Auszeit);

In einer Konsolenanweisung wird die Nachricht angezeigt, die der Haupt -Thread außerhalb der Schleife verlässt.

Wenn wir den Code ausführen, wird die erstmalige Nachricht angezeigt. Dann wird es eine Pause von 3 Sekunden geben; Andererseits wird eine andere Zeile angezeigt. In ähnlicher Weise wird diese Zeile nach 3 Sekunden vergangen angezeigt.

Während die letzte Zeile außerhalb des Schleifenkörpers deklariert wird, erscheint der Hauptfaden nach der dritten Zeile abrupt. Wir haben die Sleep Timesspan -Methode für diese letzte Zeile nicht verwendet.

Abschluss

Die Sleep () -Methode in C Sharp wird verwendet, um den Prozess für einige Sekunden einzustellen oder den Prozess nach einer bestimmten Pause auszuführen. Diese Ausführung der Ausführung für einige Sekunden ist gut für die Arbeit von Threads im Betriebssystem, da ein Thread Wartezeiten für einige Zeit zum effektiven Arbeiten legt. Zweitens gibt es den anderen Threads die Möglichkeit, in diesem Zeitintervall ausgeführt zu werden. Diese Schlafmethode ist effektiv zu verwenden, während die CPU Multitasking ist. Beide Methoden für die Schlaffunktion werden über die Millisekunden und durch die Timesspan eingesetzt.