[so] [SO][tema4] Sincronizare in tester?

Stefan Munteanu stef8803 at yahoo.co.uk
Mon May 17 17:33:15 EEST 2010


Salut,

Am  cateva observatii legate de testerul temei 4.
Pentru o tema care are ca obiectiv creearea unui monitor, nu mi se pare ca testerul se ridica la inaltime. Sincronizarea din el se realizeaza de multe ori utilizand sleep, dar de cele mai multe ori sincronizarea lipseste. Astfel se presupune ca programul nostru ar fi trebuit sa ajunga intr-un anumit punct, desi, dupa cum stim de la cursul de planificarea proceselor/threadurilor, acest lucru nu se intampla tot timpul.
Spre exemplu:

Test stress Ring:
[...]
i = 43, Cond = 0, q = 1
test: T44 (round 2) verifica thread-uri in asteptare (II).........failed
make: *** [test] Error 255

Desi testerul semnaleaza o eroare aici, trebuie avut in vedere ca urmatoarea succesiune de evenimente poate produce acest output, fara a avea erori de sincronizare:

Thread 43: semnaleaza threadul 44
Thread 43: i se termina cuanta de timp
Este planificat threadul 44
Thread 44: Threadul 44 a fost semnalat, isi continua executia si verifica daca threadul 43 asteapta la conditie
[...]
Thread 43: Asteapta la conditie

Din pacate nu mi se pare ca acesta este singurul caz in care se fac presupuneri eronate in tester.


Stefan



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/lurker/list/so.html/attachments/20100517/2d4f6729/attachment.htm>


More information about the so mailing list