Bonjour,
je test le fonctionnement de plusieurs thread.
mais j'ai un probleme pour les fermer.
ex:
un btn:
et pour fermer un autre btn:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public Thread t1; public Thread t2; private void button1_Click(object sender, EventArgs e) { t1 = new Thread(new ThreadStart(ThreadLoop1)); t1.Start(); t2 = new Thread(new ThreadStart(ThreadLoop2)); t2.Start(); }
code du thread:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void Form1_FormClosed(object sender, FormClosedEventArgs e) { t1.Abort(); t2.Abort(); }
mon probleme:
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 private void ThreadLoop1() { while (Thread.CurrentThread.IsAlive) { Thread.Sleep(1000); SyncDelegate del = new SyncDelegate(Method_Sync); listBox1.BeginInvoke(del, new object[] { DateTime.Now + " ThreadID: " + Thread.CurrentThread.ManagedThreadId, EventArgs.Empty }); } } private void ThreadLoop2() { Thread.Sleep(500); while (Thread.CurrentThread.IsAlive) { Thread.Sleep(1000); SyncDelegate del = new SyncDelegate(Method_Sync); listBox1.BeginInvoke(del, new object[] { DateTime.Now.Millisecond + " ThreadID: " + Thread.CurrentThread.ManagedThreadId, EventArgs.Empty }); } }
si je clique plusieur fois sur le btn1, il me lance plusieurs fois t1 et t2. mais quand je clique sur le btn2 il me coupe que le dernier thread t1 et t2.
comment faire pour fermer tous les thread demarrer?
Partager