Sommaire

Communication entre threads

Lock et Monitor ne font pas, à proprement parler, de communication interthreads. Ils protègent l’application de l’exécution simultanée de sections critiques et ses sections critiques peuvent être appelées n’importe quand.

1. Join Join

La méthode Join permet à un thread principal de "s’endormir" en attendant la fin de l’exécution d’un thread secondaire.

Exemple de code

using System; 
using System.Threading; 
 
namespace DemoSynchroInterThreadsAvecJoin 
{ 
  class Program 
  { 
    static void Main(string[] args) 
    { 
      Test t = new Test(); 
      t.TraitementPrincipal(); 
      Console.WriteLine( 
        "Appuyez sur une touche pour quitter..."); 
 
    } 
  } 
 
  class Test 
  { 
    public void TraitementPrincipal() 
    { 
      Console.WriteLine("Début TraitementPrincipal"); 
      ThreadStart ts 
        = new ThreadStart(TraitementSecondaire); 
      Thread t = new Thread(ts); 
      t.IsBackground = false; 
      t.Priority = ThreadPriority.Highest; 
      t.Name = "C’est mon thread :)"; 
  ...