<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;"><div id="yiv36465345">Threadul 0,care realizeaza signal, trebuie sa mute threadul 1 din coada conditiei 1 in coada waiting. Testul iti trece cand apelezi sleep pentru ca permiti threadului 1 sa ruleze si sa se adauge in coada waiting. Ar trebui fie sa faci adaugarea in threadul care detine monitorul fie sa sincronizezi cumva cele doua threaduri (threadul 0 sa astepte dupa signal(1) ca threadul 1 sa ajunga in coada waiting si apoi sa continue executia).<br><br>Andreea<br>--- On <b>Fri, 5/22/09, Maydan3zzu Screwie <i><maydan3zzu_screwie@yahoo.com></i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br><div class="plainMail">- threadul 0 continua executia, cedeaza monitorul, permitand threadului 1 sa observe semnalul primit pe conditia sa,<br>si sa treaca in waiting, abia apoi urmand
sa se realizeze testAndFail-ul<br><br>Mentionez ca prin introducerea unui sleep() intre semnalizarea efectiva a conditiei si intoarcere din functia Signal<br>ceruta in implementarea temei, testul trece, dar nu cred ca aceasta este varianta dorita. De asemenea, consider ca implementarea mea este "race-proof"<br><br>Orice idei sunt bine-venite.<br><br>Multumesc, <br><br>Traian Popeea<br><br><br><br> <br>_______________________________________________<br>so mailing list<br><a rel="nofollow">so@cursuri.cs.pub.ro</a><br><a rel="nofollow" target="_blank" href="http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so">http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so</a><br></div></blockquote></div></td></tr></table><br>