[so] [Tema 4]Intrebare 2

Stefan Munteanu stef8803 at gmail.com
Tue May 3 17:00:16 EEST 2011


2011/5/3 Alex Gorunescu <algorunescu at yahoo.com>:
>
> Pai atunci avem situatia urmatoare. Printre contoarele auxiliare avem si un
> contor pentru scriitori waiting deoarece trebuie sa asiguram prioritatea
> scriitorilor si un cititor tre sa stie ca are scriitori waiting. Daca
> contorul de cititori activi il actualizezi dupa ce intri in monitor (cand
> practic pornesc) si astfel asiguri sincronizarea accesului la el, pe asta nu
> prea ai cum sa-l sincronizezi. Trebuie incrementat de catre fiecare scriitor
> inainte sa intre in monitor pentru ca dupa ce intra poate ramane blocat in
> coada de Entry intercalat cu alti cititori si trebuie sa stie aia ca
> asteapta si el acolo sa-i dea prioritate. Drept urmare avem ceva de genul:
>
> void StartScrit(Monitor *m)
> {
>     writers_waiting++;
>     Enter(m);
> .......
>
> Cum nu avem voie sa facem sincronizari externe monitorului, cum sincronizam
> accesul concurent al mai multor fire de executie scriitor la contorul ala ?

Ai cuvantul meu ca se poate :)

Stefan


More information about the so mailing list