Beenden eines Threads in C#

Saad Aslam 12 Oktober 2023
Beenden eines Threads in C#

Während Sie mit einem Thread in C# arbeiten, können Sie manchmal auf eine Situation stoßen, in der Sie einen Thread beenden müssen. C# stellt Methoden bereit, mit denen Sie dies erfolgreich tun können, und dieser Artikel soll den Vorgang zum Beenden eines Threads in C# erläutern.

Für unser Ziel, einen Thread zu beenden, verwenden wir die Methode Abort(). Die ThreadAbortException wird von der Abort()-Methode an den Thread geworfen, der sie aufgerufen hat, und als Antwort auf diese Ausnahme wird der Thread beendet.

Bevor wir einen Thread stoppen können, müssen wir zuerst einen initiieren. Führen Sie die folgenden Schritte aus, um einen Thread zu erstellen.

Verwenden Sie die Abort()-Methode, um einen Thread zu stoppen in C#

Um die Methoden der System.Threading-Bibliothek zum Starten und Beenden eines Threads zu nutzen, importieren Sie sie.

using System.Threading;

Wir müssen eine ThreadDemo-Klasse erstellen.

class ThreadDemo {}

Wir erstellen innerhalb dieser Klasse eine Thread-Methode namens threadAssign() mit einer Schleife, die viermal iteriert und First Thread ausgibt.

public void threadAssign() {
  for (int threadCount = 0; threadCount < 6; threadCount++) {
    Console.WriteLine("First Thread");
  }
}

Danach erstellen wir eine neue Klasse namens ThreadExampleMain, inklusive der main-Funktion.

class ThreadExampleMain {
  public static void Main() {}
}

Wir müssen die folgenden Operationen ausführen, um einen Thread innerhalb der Methode Main() zu starten und zu stoppen. Erstellen und initialisieren Sie die Variable threadDemo mit dem Datentyp ThreadDemo.

ThreadDemo threadDemo = new ThreadDemo();

Wir werden die Klasse Thread verwenden, um eine neue Variable zu initialisieren und sie dem Thread zuzuweisen, den wir zuvor erstellt haben.

Thread thread = new Thread(new ThreadStart(threadDemo.threadAssign));

Der Thread kann durch Aufrufen der Funktion Start() gestartet werden.

thread.Start();

Schließlich können wir den Thread mit der Methode Abort() der System.Threading-Bibliothek beenden. Wir geben auch "Thread is Abort" aus, um anzuzeigen, dass der Thread beendet wurde.

Console.WriteLine("Thread is abort");
thread.Abort();

Quellcode:

using System;
using System.Threading;

class ThreadDemo {
  void threadAssign() {
    for (int threadCount = 0; threadCount < 6; threadCount++) {
      Console.WriteLine("First Thread");
    }
  }
  class ThreadExampleMain {
    public static void Main() {
      ThreadDemo threadDemo = new ThreadDemo();
      Thread thread = new Thread(new ThreadStart(threadDemo.threadAssign));
      thread.Start();
      Console.WriteLine("Thread is abort");
      thread.Abort();
    }
  }
}

Ausgabe:

First Thread
First Thread
First Thread
First Thread
First Thread
First Thread
Thread is abort
Autor: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

Verwandter Artikel - Csharp Thread