[so] [SO][tema4] Sincronizare in tester?
Drutu Bogdan
bogdandrutu at gmail.com
Tue May 18 01:24:34 EEST 2010
2010/5/17 Stefan Munteanu <stef8803 at yahoo.co.uk>:
> 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
>
Nu pricep foarte bine ce vrei sa spui, dar in momentul in care
threadul 44 e semnalat el trece in signal (si mai asteapta dupa acest
semafor nu poate incepe executia) si desi threadul 43 e replanificat
tot acesta trebuie sa isi continue executia.
> Din pacate nu mi se pare ca acesta este singurul caz in care se fac
> presupuneri eronate in tester.
>
>
> Stefan
>
>
> _______________________________________________
> http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
>
--
Bogdan.
More information about the so
mailing list