| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 
 | public void fonctionGlobale ()
{
   //creation de cinq objets
   Object o1 = new Object();
   Object o2 = new Object();
   Object o3 = new Object();
   Object o4 = new Object();
   Object o5 = new Object();
 
   //création et lancement des threads
   Thread t1= new Thread(new ParameterizedThreadStart(functionLock));
   Thread t2= new Thread(new ParameterizedThreadStart(functionLock));
   Thread t3= new Thread(new ParameterizedThreadStart(functionLock));
   Thread t4= new Thread(new ParameterizedThreadStart(functionLock));
   Thread t5= new Thread(new ParameterizedThreadStart(functionLock));
   t1.Start(o1); 
   t2.Start(o2); 
   t3.Start(o3); 
   t4.Start(o4); 
   t5.Start(o5); 
  //ici on a 5 threads qui tournent ensemble, lekelle se réveillera le premier?
}
 
public static void functionLock(Object o){
      lock (locker) //partie critique
      {
          Sleep(5000);
          Console.Writeline(o.ToString());
       }
 
} | 
Partager