18.04.2013 Views

Tehnici de implementare a concurentei în analiza si proiectarea ...

Tehnici de implementare a concurentei în analiza si proiectarea ...

Tehnici de implementare a concurentei în analiza si proiectarea ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

partajate <strong>de</strong> mai multe operatii din interiorul acestora. Mecanismele din aceasta<br />

categorie nu impun conditii <strong>de</strong> <strong>si</strong>ncronizare la nivel <strong>de</strong> obiect, iar interfetele<br />

obiectelor vor ramâne neschimbate <strong>si</strong> sunt acce<strong>si</strong>bile pe <strong>în</strong>treaga perioada <strong>de</strong> viata a<br />

acestora. În general aceste mecanisme nu respecta principiul interactiunii orientate pe<br />

apelant.<br />

Mecanisme <strong>de</strong> interactiune orientate pe operatii:<br />

<strong>si</strong>ncronizare prin terminare,<br />

semafoare, mutex <strong>si</strong> lock,<br />

regiuni critice conditionale,<br />

<strong>si</strong>ncronizare "piggy-backed"<br />

Mecanisme <strong>de</strong> interactiune bazate pe <strong>în</strong>capsulare:<br />

a) mecanisme cu control extern:<br />

monitorul,<br />

variabile <strong>de</strong> conditie,<br />

asteptarea conditionala<br />

b) mecanisme cu control mixt:<br />

coada <strong>de</strong> asteptare,<br />

inclu<strong>de</strong>re/exclu<strong>de</strong>re <strong>de</strong> meto<strong>de</strong>,<br />

abstractizarea comportamentului,<br />

mo<strong>de</strong>lul Actor,<br />

meto<strong>de</strong> cu garzi,<br />

multimi <strong>de</strong> acceptare,<br />

expre<strong>si</strong>i <strong>de</strong> cale,<br />

rutine <strong>de</strong> vitalizare,<br />

c) mecanisme cu control reflectiv<br />

Figura 2.3. Cla<strong>si</strong>ficarea mecanismelor <strong>de</strong> interactiune <strong>si</strong> <strong>si</strong>ncronizare<br />

a obiectelor concurente<br />

Caracteristica principala a mecanismelor <strong>de</strong> interactiune concurenta orientate<br />

pe <strong>în</strong>capsulare este aceea ca impun un caracter dinamic interfetelor <strong>de</strong> obiecte.<br />

Aceste mecanisme permit <strong>în</strong>târzierea executarii <strong>de</strong> operatii <strong>în</strong> functie <strong>de</strong> anumite<br />

conditii date, <strong>în</strong>târzieri care pot fi privite ca <strong>si</strong> <strong>în</strong><strong>de</strong>partari temporare a operatiilor<br />

respective din interfata unui obiect. Dupa cum sugereaza <strong>si</strong> numele, mecanismele din<br />

aceasta categorie sunt <strong>în</strong>tâlnite numai <strong>în</strong> limbajele <strong>de</strong> programare <strong>în</strong> care este <strong>de</strong>finit<br />

conceptul <strong>de</strong> <strong>în</strong>capsulare a datelor. Majoritatea acestor mecanisme au fost <strong>de</strong>zvoltate<br />

odata cu <strong>de</strong>zvoltarea <strong>de</strong> limbaje <strong>de</strong> programare orientate-obiect concurente.<br />

Toate mecanismele din aceasta categorie realizeaza coordonarea activitatilor<br />

concurente la nivelul obiectelor. Diferenta majora dintre ele este data <strong>de</strong> gradul <strong>de</strong><br />

distributie a responsabilitatii <strong>de</strong> control al acestei coordonari <strong>în</strong>tre <strong>si</strong>stem <strong>si</strong> obiecte.<br />

În functie <strong>de</strong> raspunsul dat la aceasta <strong>în</strong>trebare se pot distinge trei subcategorii<br />

25

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!