HOWTO · Csharp
Arrêter un thread en C#
Dans cet article, je vais vous expliquer comment démarrer et arrêter un thread en C#.
Sur cette page
Parfois, lorsque vous travaillez avec un thread en C#, vous pouvez vous retrouver dans une situation où vous devrez terminer un thread. C# fournit des méthodes pour vous permettre de le faire avec succès, et cet article vise à expliquer le processus de terminaison d’un thread en C#.
Pour notre objectif de terminer un thread, nous utiliserons la méthode Abort(). L’ThreadAbortException est lancée par la méthode Abort() au thread qui l’a appelée, et en réponse à cette exception, le thread est terminé.
Avant de pouvoir arrêter un thread, nous devons d’abord en lancer un. Pour accomplir la création d’un fil, suivez les étapes ci-dessous.
Utilisez la méthode Abort() pour arrêter un thread en C#
Pour utiliser les méthodes de la bibliothèque System.Threading pour démarrer et terminer un thread, importez-le.
using System.Threading;
Nous allons devoir créer une classe ThreadDemo.
class ThreadDemo {}
Nous allons créer une méthode de thread nommée threadAssign() dans cette classe, avec une boucle qui itère et produit First Thread quatre fois.
public void threadAssign() {
for (int threadCount = 0; threadCount < 6; threadCount++) {
Console.WriteLine("First Thread");
}
}
Après cela, nous allons créer une nouvelle classe appelée ThreadExampleMain, incluant la fonction main.
class ThreadExampleMain {
public static void Main() {}
}
Nous devons effectuer les opérations suivantes pour démarrer et arrêter un thread à l’intérieur de la méthode Main(). Créez et initialisez la variable threadDemo avec le type de données ThreadDemo.
ThreadDemo threadDemo = new ThreadDemo();
Nous allons utiliser la classe Thread pour initialiser une nouvelle variable et l’affecter au thread que nous avons créé précédemment.
Thread thread = new Thread(new ThreadStart(threadDemo.threadAssign));
Le thread peut être lancé en invoquant la fonction Start().
thread.Start();
Enfin, nous pouvons terminer le thread en utilisant la méthode Abort() de la bibliothèque System.Threading. Nous afficherons également "Thread is Abort" pour indiquer que le thread a été terminé.
Console.WriteLine("Thread is abort");
thread.Abort();
Code source:
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();
}
}
}
Production:
First Thread
First Thread
First Thread
First Thread
First Thread
First Thread
Thread is abort