<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"><b><span style="font-weight: bold;">&gt;From:</span></b> Stefan Munteanu &lt;stef8803@gmail.com&gt;<br><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div style="font-family:arial, helvetica, sans-serif;font-size:13px">&gt;<font size="2" face="Tahoma"><b><span style="font-weight: bold;">To:</span></b> Sisteme de Operare &lt;so@cursuri.cs.pub.ro&gt;<br><b><span style="font-weight: bold;"></span></b></font>&gt;<font size="2" face="Tahoma"><b><span style="font-weight: bold;">Sent:</span></b> Tue, May 3, 2011 3:10:55 PM<br><b><span style="font-weight: bold;"></span></b></font>&gt;<font size="2" face="Tahoma"><b><span style="font-weight: bold;">Subject:</span></b> Re: [so] [Tema 4]Intrebare 2<br></font><br>
&gt;2011/5/3 Alex Gorunescu &lt;<a ymailto="mailto:algorunescu@yahoo.com" href="mailto:algorunescu@yahoo.com">algorunescu@yahoo.com</a>&gt;:<br>&gt;&gt;<br>&gt;&gt; Pentru partea a doua nu suntem obligati sa facem sincronizarile doar prin<br>&gt;&gt; monitor nu ? Sunt anumite lucruri care nu vad cum s-ar putea sincroniza prin<br>&gt;&gt; monitor.<br>&gt;&gt;<br>&gt;Sincronizarile trebuie facute doar prin monitor si variabilele de<br>&gt;conditie din acesta. In plus o sa va mai trebuiasca si niste contoare<br>&gt;auxiliare<br>&gt;<br>&gt;Stefan<br><br>Pai atunci avem situatia urmatoare. Printre contoarele auxiliare avem si un contor pentru scriitori waiting deoarece trebuie sa asiguram prioritatea scriitorilor si un cititor tre sa stie ca are scriitori waiting. Daca contorul de cititori activi il actualizezi dupa ce intri in monitor (cand practic pornesc) si astfel asiguri sincronizarea accesului la el, pe asta nu prea ai cum sa-l sincronizezi. Trebuie
 incrementat de catre fiecare scriitor inainte sa intre in monitor pentru ca dupa ce intra poate ramane blocat in coada de Entry intercalat cu alti cititori si trebuie sa stie aia ca asteapta si el acolo sa-i dea prioritate. Drept urmare avem ceva de genul:<br><br>void StartScrit(Monitor *m)<br>{<br>&nbsp;&nbsp;&nbsp; writers_waiting++;<br>&nbsp;&nbsp;&nbsp; Enter(m);<br>.......<br><br>Cum nu avem voie sa facem sincronizari externe monitorului, cum sincronizam accesul concurent al mai multor fire de executie scriitor la contorul ala ? <br>_______________________________________________<br><span><a target="_blank" href="http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii">http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii</a></span><br></div></div>


</div></body></html>