[C#] Comment faire pour faire de suicider un thread ?
Bonjour,
Dans mon programme, j'ai une classe Main qui lance plusieurs threads.
J'ai une classe ComportementThread qui gère le comportement des threads que je lance.
Ici le comportement de mes threads est juste d'écrire, les paramètres que je leur passe dans une console.
J'aimerais pouvoir faire que mes threads se suicident directement de l'intérieur (dans la classe ComportementThread).
Je sais que je peux tuer les threads dans ma classe main avec la méthode Abort(), mais ce n'est pas ça que je veux.
J'ai essayé un Environnement.Exit(0), mais ça arrête tout.
Pour infos voici mes classes :
ComportementThread :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace ExSCHAPEL
{
class ComportementThread
{
private string id;
private string commande;
// Constructeur
public ComportementThread(string a, string b)
{
this.id = a;
this.commande = b;
}
// Setters
public void SetID(string s)
{
this.id = s;
}
public void SetCommande(string s)
{
this.commande = s;
}
// Getters
public string GetID()
{
return this.id;
}
public string GetCommande()
{
return this.commande;
}
// Comportement du thread
public void ThreadLoop()
{
while (Thread.CurrentThread.IsAlive)
{
Console.WriteLine(this.id + " " + this.commande);
Thread.Sleep(250);
}
}
}
} |
Main :
Juste comment j'appelle mon thread..
Code:
1 2 3
| ComportementThread comport = new ComportementThread("bonjour", "au revoir");
Thread T = new Thread(new ThreadStart(comport.ThreadLoop));
T.Start(); |
Avez vous une idée ?
Merci de votre aide.