[so] implementare sincronizare

Andrei Ciuca andrei.ciuca at gmail.com
Wed Nov 14 09:50:11 EET 2007


Pentru a implementa sincronizarea , am aveam 2 optiuni :

1) cea mai simplu de implementat
   folosim un singur semafor, in zona de memorie partajata nu are voie mai
mult de o entitate (serverul sau unul dintre clienti)

2)
   folosim 3 semafoarte , in zona de memorie partajata au voie serverul sau
oricati clienti, dar din momentul in care serverul
   doreste accesul , nici un client nu mai incearca sa obtina lockul asupra
memoriei pana cand serverul nu iese din acea
   zona ... practic ofera acces multiplu pentru clienti si incearca sa ofere
serverului prioritate (am zis incearca pentru ca se
   pare ca orice solutie pentru prioritate are un caz "cel mai defavorabil"
care daca apare mereu , serverul poate sa nu obtina
   deloc accesul la memorie)

Acum intrebarea este daca folosind atatea lockuri pentru cazul 3 nu se
incetineste prea mult executia programului fata
de celalalt caz , chiar daca in acel caz nu avem acces multiplu pentru
cititori .... cum ar fi mai bine ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/so/attachments/20071114/b21387ca/attachment.html


More information about the so mailing list