Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Thread-Ruhezustand

C#-Thread-Ruhezustand

王林
王林Original
2024-09-03 15:25:49750Durchsuche

Der aktuell ausgeführte Thread kann mit einer Methode in C# namens Sleep()-Methode für eine bestimmte Zeitspanne angehalten oder vorübergehend angehalten werden. Die Zeitspanne muss in Millisekunden angegeben und als Parameter an den von uns ausgeführten Thread übergeben werden versuchen, den Thread anzuhalten oder indem Sie die Eigenschaft timespan verwenden, in der die Berechtigung besteht, die Zeit in Stunden, Minuten und Sekunden anzugeben, sodass der Thread für eine längere Zeit und entsprechend unserem Bedarf und nicht nur für Millisekunden angehalten werden kann.

Syntax:

Thread.Sleep(Time_in_milliseconds);

Oder

TimeSpaninstance_name = new TimeSpan(Time_in_hours_minutes_seconds);
Thread.Sleep(instance_name);

Wobei Instanzname der Name der Instanz der TimeSpan-Klasse ist.

Funktionsweise des C#-Thread-Ruhezustands

  • Immer wenn die Notwendigkeit besteht, die Ausführung eines Threads anzuhalten, damit ein anderer Thread übernehmen und mit der Ausführung beginnen kann, verwenden wir die Methode namens Sleep()-Methode.
  • Die Zeitspanne, die ein Thread angehalten werden muss, kann entweder in Millisekunden angegeben und als Parameter an die Sleep()-Methode übergeben werden, oder sie kann mithilfe der Timespan-Eigenschaft in Stunden, Minuten und Sekunden angegeben werden.
  • ArgumentOutOfRangeException wird von der Sleep()-Methode ausgelöst, wenn die als Parameter übergebene Zeit in Millisekunden negativ ist.
  • ArgumentOutOfRangeException wird von der Sleep()-Methode ausgelöst, wenn die als Parameter an die Eigenschaft timespan übergebene Zeit negativ ist.
  • Wenn die Zeit in Millisekunden, die als Parameter an die Sleep()-Methode übergeben wird, Null ist, beginnt der andere Thread mit derselben Priorität, der zur Ausführung bereit ist, mit der Ausführung.
  • Wenn die als Parameter an die Timespan-Eigenschaft übergebene Zeit Null ist, beginnt der andere Thread mit derselben Priorität, der zur Ausführung bereit ist, mit der Ausführung.

Beispiele zur Implementierung von Thread Sleep in C#

Unten finden Sie Beispiele für C#Thread Sleep:

Beispiel #1

C#-Programm zur Demonstration der Sleep()-Methode mit der als Parameter übergebenen Zeit in Millisekunden.

 Code:

using System;
using System.Threading;
//a class called program is created
public class program
{
//a method called samplemethod which accepts a parameter is created
public void samplemethod(object str)
{
for (int z = 0; z < 5; z++)
{
Console.WriteLine("The thread that is executing is {0}", str);
Thread.Sleep(200);
}
}
}
//a class called check is created
public class check
{
//main method is called
public static void Main()
{
//two string variables are created which are passed as parameter previously created method in program class
string Iamthread1 = null;
string Iamthread2 = null;
//an instance of the program class is created
program d = new program();
Thread firstthread = new Thread(new ParameterizedThreadStart(d.samplemethod));
Thread secondthread=new Thread(new ParameterizedThreadStart(d.samplemethod));
firstthread.Start("Iamthread1");
secondthread.Start("Iamthread2");
}
}

Ausgabe:

C#-Thread-Ruhezustand

Erklärung: Im obigen Programm wird ein Namespace namens Programm erstellt, in dem eine Methode namens Beispielmethode erstellt wird, die einen Parameter akzeptiert, in dem der Thread, der die Methode bearbeitet, für eine Zeit angehalten wird bestimmte Zeit mithilfe der Sleep()-Methode. Dann wird eine Klasse namens „check“ erstellt, in der die Hauptmethode aufgerufen wird, in der die beiden Instanzen von Threads erstellt werden, und dann beginnt ihre Ausführung auf der Beispielmethode mithilfe der Methode „Start()“. Da die Sleep()-Methode für die Threads verwendet wird, die mit der Sampling-Methode arbeiten, werden die Threads nicht nacheinander ausgeführt.

Beispiel #2

C#-Programm zur Demonstration der Sleep()-Methode mithilfe der TimeSpan-Eigenschaft.

Code:

using System;
using System.Threading;
//a class called program is created
public class program
{
//a method called samplemethod which accepts a parameter is created
public void samplemethod(object str)
{
//TimeSpan property is used to specify the duration of time for which the thread must be paused
TimeSpan timeout = new TimeSpan(0, 0, 3);
for (int z = 0; z < 3; z++)
{
Console.WriteLine("The thread that is executing is {0}", str);
Thread.Sleep(timeout);
}
}
}
//a class called check is created
public class check
{
//main method is called
public static void Main()
{
//two string variables are created which are passed as parameter previously created method in program class
string Iamthread1 = null;
string Iamthread2 = null;
//an instance of the program class is created
program d = new program();
Thread firstthread = new Thread(new ParameterizedThreadStart(d.samplemethod));
Thread secondthread = new Thread(new ParameterizedThreadStart(d.samplemethod));
firstthread.Start("Iamthread1");
secondthread.Start("Iamthread2");
}
}

Ausgabe:

C#-Thread-Ruhezustand

Erklärung: Im obigen Programm wird ein Namespace namens Programm erstellt, in dem eine Methode namens Beispielmethode erstellt wird, die einen Parameter akzeptiert, in dem der Thread, der die Methode bearbeitet, für eine bestimmte Zeit angehalten wird Zeit mithilfe der TimeSpan-Eigenschaft. Dann wird eine Klasse namens „check“ erstellt, in der die Hauptmethode aufgerufen wird, in der die beiden Instanzen von Threads erstellt werden, und dann beginnt ihre Ausführung auf der Beispielmethode mithilfe der Methode „Start()“. Da die Sleep()-Methode für die Threads verwendet wird, die mit der Sampling-Methode arbeiten, werden die Threads nicht nacheinander ausgeführt. Die Ausgabe ist im Schnappschuss oben dargestellt.

Fazit

In diesem Tutorial verstehen wir das Konzept der ThreadSleep-Methode in C# durch Definition, Syntax und Funktionsweise der ThreadSleep-Methode anhand von Programmierbeispielen und deren Ausgaben.

Empfohlener Artikel

Dies ist eine Anleitung zum C#-Thread-Ruhezustand. Hier diskutieren wir die Einführung in C# Thread Sleep und seine Funktionsweise zusammen mit seinen Beispielen und der Code-Implementierung. Sie können auch unsere anderen empfohlenen Artikel durchsehen, um mehr zu erfahren –

  1. Was ist ein Zufallszahlengenerator in C#?
  2. Statischer Konstruktor in Java | Arbeiten | Anwendungen
  3. TextWriter in C# | Beispiele
  4. Wie funktioniert der statische Konstruktor in C#?

Das obige ist der detaillierte Inhalt vonC#-Thread-Ruhezustand. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:C#-Thread-JoinNächster Artikel:C#-Thread-Join