Exécuter plusieurs threads à la fois

Author:


{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;
} 

Leave a Reply

Your email address will not be published. Required fields are marked *