using System; using System.Threading; public class ExempleAbort { public static void Main() { MonThread monThread = new MonThread("Thread #1"); Thread.Sleep(1000); // Suspendre le thread Console.WriteLine("Provoquer l'avortement du Thread. avec un code d'erreur"); monThread.objetThread.Abort(100); monThread.objetThread.Join(); } } class MonThread { public Thread objetThread; public MonThread(string nom) { objetThread = new Thread(new ThreadStart(this.run)); objetThread.Name = nom; objetThread.Start(); } void run() { try { Console.WriteLine(objetThread.Name + " Lancé."); for(int i = 1000; i >= 0; i--) { Console.Write(i + " "); if((i%2)==0) { Console.WriteLine(); Thread.Sleep(500); } } Console.WriteLine(objetThread.Name + " Terminé avec succès."); } catch(ThreadAbortException err) { Console.WriteLine("Thread Avorté, erreur: " + err.ExceptionState); } } } |
0