[so] Tema 2 - Sincronizare
Daniel Baluta
daniel.baluta at gmail.com
Tue Apr 15 00:34:01 EEST 2008
2008/4/15 George Dita <george.dita at gmail.com>:
> Nu am inteles ce inseamna sincronizarea proceselor. Se spune ca:
> "" Pot exista mai multi clienti care comunica simultan cu serverul.
> Operatiile pe care le face serverul trebuie sa respecte ordinea temporala a
> trimiterii mesajelor clientilor. ""
>
> De acest lucru se "ocupa" coada in care scriu datele. Banuiesc ca singura
> sincronizare necesara este la print? Adica la un moment de timp un singur
> client poate printa arborele fara ca serverul sa modifice valorile din
> acesta?
Da se ocupa coada de ordinea temporala a trimiterii mesajelor.
Poti avea urmatoarea situatie
./client r 1 & ./client p
Primul client incepe procedura de eliminare a unui nod in arbore dar ..in
mijlocul operatiei al doilea client doreste sa faca print si va gasi
arborele intr-o stare inconsistenta deci ai nevoie de sincronizare si la
celelalte operatii ( adaugare , stergere,,etc relative la operatia print).
> M-am gandit la situatia: ./client a 4 a 3 a 5 p a 7 p rulat simultat
> cu ./client a 8 a 1 p; Cum trebuie sa se comporte in aceasta situatie? Ma
> gandeam ca singura solutie poate fii ca clientii sa puna in coada pentru
> server si comanda p astfel incat cand serverul intalneste o comanda de tip
> print sa opreasca scrierea. Sau serverul trebuie sa verifice la fiecare
> scriere daca nu cumva exista clienti care citesc (in genul problemei
> scriitori / cititori).
ai dreptate , ceva in genul readers/writers.
> In acest caz comportamentul ar fi de neprevazut si ar trebui gestionat de
> executant prin comenzi sleep in executia clientiilor.
ai dreptate si aici , testele (executantul) folosesc sleep pentru a obtine
un comportament determinist.
>
> Sper sa ma puteti lamuri in aceasta privinta. Multumesc !
>
>
> --
> George Dita
> _______________________________________________
> so mailing list
> so at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/so/attachments/20080415/70834835/attachment-0001.htm
More information about the so
mailing list