Perchè da quello che ho capito non basta solo il flag a mantenere il programma in busy waiting? Anche perchè se mettiamo il caso che siamo nel processo 0, il turno è 1, ma il processo 1 non sta lavorando e quindi flag1 è false, il processo 0 si avvierà alla sua sezione critica.
Nel mentre se si avvia il processo 1, avremo comunque flag0 a true e quindi entreremo in busy waiting, però il turno rimarrà uguale ad 1 quindi non sarà mai valido quell'if e continuerà comuqnue ad attendere.
Dov'è che il mio ragionamento toppa?![]()