
{filelink=17388}
using System;
using System.Threading;
public class MoreThreads
{
public static void Main()
{
Console.WriteLine("Lanecement de Thread Principal.");
// Initialisation de 3 threads
ThreadPersonalise thread1 = new ThreadPersonalise("Thread #1");
ThreadPersonalise thread2 = new ThreadPersonalise("Thread #2");
ThreadPersonalise thread3 = new ThreadPersonalise("Thread #3");
do {
Console.Write(".");
Thread.Sleep(100);
} while (thread1.compteur < 10 ||
thread2.compteur < 10 ||
thread3.compteur < 10);
Console.WriteLine("fin de Thread Principal.");
}
}
class ThreadPersonalise
{
public ThreadPersonalise(string nom)
{
compteur = 0;
objetThread = new Thread(new ThreadStart(this.run));
objetThread.Name = nom;
objetThread.Start();
}
// Point d'entrée de Thread
void run() {
Console.WriteLine(objetThread.Name + " Lancé.");
do {
Thread.Sleep(1000);
Console.WriteLine("Competeur= " + compteur +
", dans le Thread " + objetThread.Name);
compteur++;
} while(compteur < 10);
Console.WriteLine(objetThread.Name + " Terminé.");
}
public int compteur;
public Thread objetThread;
}