2015-05-16 1:31 GMT+03:00 Raluca-Elena GRIGORESCU via so <[email protected]>:
> Bună,
>
> Am o nelămurire legată de testele pentru tema 4(windows). Acestea nu au un 
> timeout precum cele de pe linux?
> Local îmi trec 18 teste din 20, celelalte 2 blocându-se, într-adevăr. Totuși, 
> când pățeam ceva asemănător pe linux,
> timeout-ul bloca rularea testului la infinit si primeam totuși punctajul pe 
> celelalte teste.
>
> Am încărcat pe vmchecker arhiva cu tema pe windows si nu primesc outputul 
> niciunui test(tema rulează foarte mult si am presupus că din cauza testelor 
> care se blochează este oprită forțat la un moment dat).
>

Bună Raluca,

Am făcut puțin debugging pe implementarea ta și am ajuns la următoarea
concluzie. Testele care creează un număr mare de thread-uri (testele
16 și 20) aproape blochează mașina virtuală iar output-ul checker-ului
nu mai apucă să fie afișat. Cauza blocării este sincronizarea prin
busy-waiting (prin while-uri) pe care o folosești. Astfel multe
thread-uri ajung să consume inutil procesorul, întreg sistemul fiind
aproape blocat.

Pentru această temă nu trebuie să folosești busy-waiting, un thread
trebuie să se blocheze (fiind introdus în coada READY a
planificatorului) atunci când așteaptă să fie planificat.


Adrian
_______________________________________________
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Raspunde prin e-mail lui