fermo restante che ho compreso il concetto di sezione critica e di
istruzione testAndSet, vorrei un aiutino a comprendere cosa fa il codice
dopo la Sezione Critica. Quiesta versione risolve il problema della
attesa limitata, in pratica ᅵ uno pseudocodice C, e non ho compreso se
l'IF ELSE finale fa parte del corpo dell'ultimo while oppure no....
do {
attesa[i] = true;
chiave = true;
while (attesa[i] && chiave)
chiave = TestAndSet(&lock);
attesa[i] = false;
//sezione critica
j = (i + 1) % n;
while ((j != i) && !attesa[i]) <----
j = (j + 1) % n;
if (j==i)
lock = false;
else
attesa[j] = false; <------
//sezione non critica
} while(true);
grazie e buon anno!
il while finisce qui.
> if (j==i)
> lock = false;
> else
> attesa[j] = false; <------
>
> //sezione non critica
>
> } while(true);
>
> grazie e buon anno!
Ciao Jack
ok, scusate, potevo quotare un po' meglio :P
Ciao Jack