Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Tema 1 ASC
- Buse Vlad-Constantin 332CC
- Tema mi s-a parut foarte interesanta, insa din lipsa de timp
- m-am apucat foarte tarziu de ea si nu am apucat sa corectez
- toate aspectele mai putin importante.
- Testele imi trec toate, rareori pierzand o iteratie sau doua
- din timeout.
- Erori cunoscute: nu am atribuit un numar fix de thread-uri,
- astfel, desi delimitate cu un semafor sa fie maxim 8, restul
- sunt mereu create in functie de cate scripturi sunt. Am optat
- sa rezolv sa imi treaca testele decat sa schimb ideea de thread-uri
- Fiecare device primeste la inceput o bariera, folosita din lab3,
- un set de lock-uri pt fiecare locatie si un semafor pt thread-urile
- din script.
- Bariera este folosita sa se astepte toate device-urile pana se trece
- la urmatorul timepoint, semaforul este, cum am mentionat si mai sus,
- ceva ce ar trebui sa suplineasca ideea de maxim de thread-uri, mi-am dat
- seama prea tarziu de acest lucru, iar set-ul de lock-uri este un set
- care delimiteaza modificarea datelor in functie de locatie, astfel daca
- mai multe device-uri primesc script-uri pt aceeasi locatie, sa se modifice
- datele pe rand sa nu se intample fie deadlock-uri, fie incorectidine de date.
- Acest lock este facut intr-o clasa noua, de Thread.
- Aceste clase sunt ulterior apelate in DeviceThread ruland fiecare pt un script
- si o locatie. Dupa ce toate scripturile sunt rulate de pe toate device-urile,
- se trece la urmatorul timepoint.
- Nu stiu daca implementarea gandita optimal ar fi trebuit sa difere cu mult,
- insa ideea de bariera pt timepoint, lock-uri pt accesari concurente si semaforul
- pt a limita thread-urile care lucreaza(cu mici modificari intr-una) au functionat
- in de-ajuns cat sa imi treaca toate testele,rareori primind cate
- un time-out la o iteratie.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement