[so] [Tema 4]Intrebari
Stefan Munteanu
stef8803 at gmail.com
Mon May 2 17:16:38 EEST 2011
Salut,
2011/5/2 Alex Gorunescu <algorunescu at yahoo.com>:
> O a doua varianta ar fi ca numarul de conditii restrictioneaza de fapt si
> conditiile acceptate.
Ai n variabile de conditie, numerotate C-style de la 0 la n-1.
Poti sa zici ca vrei sa astepti pe prima, pe a doua sau pe ori care
alta variabila de conditie (<n).
Nu ai nevoie sa le creezi dinamic, le poti creea static. Trebuie data
o eroare daca se incearca sa se astepte pe o conditie >= n sau <0.
Variabilele de conditie functioneaza la fel ca si conditiile din
POSIX. Se poate face wait, signal sau broadcast pe ele. Pentru a face
oricare dintre aceste operatii pe o variabila de conditie, trebuie sa
fim in monitor (altfel trebuie semnalata o eroare).
In cazul in care politica este SIGNAL_AND_WAIT, threadul care face
signal/broadcast trebuie sa cedeze monitorul imediat dupa ce
semnaleaza o variabila de conditie (si se va pune in coada
monitorului, incercand sa-l reacapareze).
Sper ca a fost de folos,
Stefan
More information about the so
mailing list