Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Exécuter plusieurs threads à la fois


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

No comments yet.

Leave a Comment