Advertisement
nicb

Dekker - Wikipedia

Aug 6th, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.71 KB | None | 0 0
  1. // dichiarazione delle variabili globali comuni
  2. boolean flag0 = false, flag1 = false;
  3. int turno = 0; // oppure: int turno = 1;
  4.  
  5. // processo #0
  6. // ...
  7. P:   flag0 = true;
  8.      while (flag1) { // busy waiting
  9.         if (turno == 1) {
  10.            flag0 = false;
  11.            while(turno == 1) ; // busy waiting
  12.            goto P;
  13.         }
  14.      }
  15.      // <sezione critica>
  16.      flag0 = false;
  17.      turno = 1;
  18. // ...
  19.  
  20. // processo #1
  21. // ...
  22. P:   flag1 = true;    
  23.      while (flag0) { // busy waiting
  24.         if (turno == 0) {
  25.            flag1 = false;
  26.            while(turno == 0) ; // busy waiting
  27.            goto P;
  28.         }
  29.      }
  30.      // <sezione critica>
  31.      flag1 = false;
  32.      turno = 0;  
  33. // ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement