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 :
Main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } } } }
Juste comment j'appelle mon thread..
Avez vous une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ComportementThread comport = new ComportementThread("bonjour", "au revoir"); Thread T = new Thread(new ThreadStart(comport.ThreadLoop)); T.Start();
Merci de votre aide.
Partager