Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // dichiarazione delle variabili globali comuni
- boolean flag0 = false, flag1 = false;
- int turno = 0; // oppure: int turno = 1;
- // processo #0
- // ...
- P: flag0 = true;
- while (flag1) { // busy waiting
- if (turno == 1) {
- flag0 = false;
- while(turno == 1) ; // busy waiting
- goto P;
- }
- }
- // <sezione critica>
- flag0 = false;
- turno = 1;
- // ...
- // processo #1
- // ...
- P: flag1 = true;
- while (flag0) { // busy waiting
- if (turno == 0) {
- flag1 = false;
- while(turno == 0) ; // busy waiting
- goto P;
- }
- }
- // <sezione critica>
- flag1 = false;
- turno = 0;
- // ...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement