<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div>Eu cred ca un thread sta in coada asociata unei variabile de conditie cat timp asteapta la acea variabila de conditie. Cand este trezit, atunci el trece in coada waiting (coada in care ajung toate threadurile care au asteptat mai inainte la oricare dintre variabilele de conditie). Planificatorul se uita in cele 3 cozi: entry, waiting, signal si decide ce thread devine owner. Planificatorul nu are treaba cu cozile asociate varibilelor de conditie. Deci e nevoie de coada waiting ca sa se adune acolo threadurile care au asteptat la vreo varibila de conditie. <br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font size="2" face="Tahoma"><hr size="1"><b><span
style="font-weight: bold;">From:</span></b> Drutu Bogdan <bogdandrutu@gmail.com><br><b><span style="font-weight: bold;">To:</span></b> Sisteme de Operare <so@cursuri.cs.pub.ro><br><b><span style="font-weight: bold;">Sent:</span></b> Wednesday, June 24, 2009 10:14:35 PM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [so] intrebare quiz fire de executie<br></font><br>
Si atunci cand ar mai fi nevoie de aceasta coada? de ce nu au scos-o din monitor?<br><br><br><div class="gmail_quote">2009/6/24 Ioana Grigoropol <span dir="ltr"><<a rel="nofollow" ymailto="mailto:ioana.grigoropol@loopback.ro" target="_blank" href="mailto:ioana.grigoropol@loopback.ro">ioana.grigoropol@loopback.ro</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im"><br>
<br>
Sergiu Iordache wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2009/6/24 Ioana Grigoropol <<a rel="nofollow" ymailto="mailto:ioana.grigoropol@loopback.ro" target="_blank" href="mailto:ioana.grigoropol@loopback.ro">ioana.grigoropol@loopback.ro</a>>:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Cum văd eu lucrurile, având în vedere că nu pot face wait decât pe o<br>
condiție, coada de waiters a fost numărată în plus pentru primul caz.<br>
<br>
Așadar,<br>
SIGNAL_AND_CONTINUE:<br>
- 2 * cond_queue + entry_queue = 3<br>
SIGNAL_AND_WAIT<br>
- 2 * cond_queue + entry_queue + signal_queue = 4<br>
<br>
Deci răspunsul era corect în quiz.<br>
<br>
</blockquote>
<br>
Păi stai, și când faci broadcast unu se trezește dar restul unde așteaptă?<br>
<br>
</blockquote></div>
Când faci broadcast, faci pe o anumită condiție => lovești în coada asociată ei. Nu văd de ce ai avea nevoie de o coadă waiters pentru broadcast only.<br>
<br>
Sau cel puțin așa cred eu.<br><font color="#888888">
<br>
Ioana</font><div><div></div><div class="h5"><br>
_______________________________________________<br>
so mailing list<br>
<a rel="nofollow" ymailto="mailto:so@cursuri.cs.pub.ro" target="_blank" href="mailto:so@cursuri.cs.pub.ro">so@cursuri.cs.pub.ro</a><br><span>
<a target="_blank" href="http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so">http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so</a></span><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Bogdan.<br>
</div></div></div><br>
</body></html>