[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