static void Main(string[] args) { Compteur jaune = new Compteur(); Compteur rose = new Compteur { Min = 0, Max = 20, Pas = 2, Pause = 500, Couleur = ConsoleColor.Magenta }; Compteur bleu = new Compteur { Min = 1, Max = 30, Pas = 1, Pause = 100, Couleur = ConsoleColor.Cyan }; //jaune.Compte(); //rose.Compte(); CompteDelegate jauneD = new CompteDelegate(jaune.Compte); CompteDelegate roseD = new CompteDelegate(rose.Compte); CompteDelegate bleuD = new CompteDelegate(bleu.Compte); jauneD.BeginInvoke(new AsyncCallback(Fini), "jaune"); // Thread 2 roseD.BeginInvoke(new AsyncCallback(Fini), "rose"); // Thread 3 bleuD.Invoke(); // Thread 1 Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("J'ai fini"); Console.Read(); }
static void Main(string[] args) { // change la couleur de la console if (Console.BackgroundColor == ConsoleColor.Black) { Console.BackgroundColor = ConsoleColor.DarkBlue; Console.ForegroundColor = ConsoleColor.Black; Console.Clear(); } // Compteur jaune = new Compteur(); Compteur rose = new Compteur { Min = 1, Max = 20, Pas = 2, Pause = 500, Couleur = ConsoleColor.Magenta }; Compteur bleu = new Compteur { Min = 1, Max = 30, Pas = 1, Pause = 100, Couleur = ConsoleColor.Cyan }; //jaune.Compte(); //rose.Compte(); CompteDelegate jauneD = new CompteDelegate(jaune.Compte); CompteDelegate roseD = new CompteDelegate(rose.Compte); CompteDelegate blueD = new CompteDelegate(bleu.Compte); jauneD.BeginInvoke(new AsyncCallback(Fini), "jaune"); roseD.BeginInvoke(new AsyncCallback(Fini), "rose"); blueD.Invoke(); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("J'ai fini !!!"); Console.Read(); }