[so] [Tema2][Linux] Testul 12

Catalin Moraru catalin.me at gmail.com
Mon Apr 12 14:10:17 EEST 2010


Testul 12 presupune ca tu folosesti sem1 pentru a proteja cel putin un
bucket din tabela (cel mai probabil doar un bucket) si ca zona
protejata nu contine si bucketul in care intra cuvantul "Dog"

Comanda "print" presupune afisearea continutului tabelei in ordinea
crescatoare a cheii.

Astfel cand clientul tau incearca sa faca "print" ar trebui sa astepte
eliberarea sem1. In acest timp un alt client ar trebui sa poata adauga
in tabela cuvantul "Dog".


>  Trebuie sa iau toate semafoarele simultan la print pentru e trece testul acesta, sau e si alta varianta?
Nu.

Incearca te rog sa dai mai multe detalii despre cum faci protejarea
bucketurilor in vederea operatiei de print.


Catalin

2010/4/11 Andrei BRAGA <andrei.braga at cti.pub.ro>:
> Salut
>
> Am o nelamurire la testul 12 . Din ce am inteles eu, vreti sa verificati daca la printare se iau semafoarele. In enuntul temei e precizat
> "Nu se acceptă în nici un moment deţinerea tuturor semafoarelor", asa ca la printare eu iau un semafor, copiez toate bucketurile care tin de acel semafor,
> si apoi il eliberez.
> Daca 'my_client' ia semaforul 1 si face sleep 5 secunde,clientul meu copiaza o parte din bucketuri in intervalul acela, inclusiv cea in care se va adauga mai tarziu cuvantul 'Dog', deci nu
> va fi afisat. Trebuie sa iau toate semafoarele simultan la print pentru e trece testul acesta, sau e si alta varianta?
>
> Andrei
> _______________________________________________
> so mailing list
> so at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so
>


More information about the so mailing list