[so] timeout tema4 windows

Adrian Stanciu adrian.stanciu.pub at gmail.com
Sat May 16 08:18:42 EEST 2015


2015-05-16 1:31 GMT+03:00 Raluca-Elena GRIGORESCU via so <so at cursuri.cs.pub.ro>:
> 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


More information about the so mailing list