<div dir="ltr">Salut, Radu!<div><br></div><div style>1. Într-adevăr, după fiecare operație ar trebui apelat scheduler-ul. Dacă acesta determină că trebuie preemptat, ar trebui să renunțe la procesor și să treacă în coada READY.</div>
<div style>2. Da, ideea ta este bună. so_fork ar trebui să fie un fel de wrapper peste pthread_create, unde poți stoca ce variabile vrei. so_fork este considerată și ea o instrucțiune, deci poate fi preemptată. Totuși regulile planificatorului trebuie să fie repectate.</div>
<div style>3. Ești pe drumul cel bun :).</div><div style>4. Da.</div><div style><br></div><div style>Spor!</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/5/4 Radu Stancu <span dir="ltr"><<a href="mailto:stancumradu@gmail.com" target="_blank">stancumradu@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Salut,<br>
<br>
Am si eu mai multe nelamuriri la tema 4.<br>
1. Din cate observ, trebuie sa facem re-schedule la fiecare final de<br>
functie, just in case se termina cuanta de timp.Este corect asa?<br>
2. Cum fac un thread abia creat sa astepte randul sau? Ma gandeam sa fac<br>
similar cu wait, sa am o variabila de conditie care sa blocheze threadul,<br>
dar ideea e unde o pun? Fac o functie separata care sa fie apelata de<br>
pthread_create si in ea pun variabila? Daca fac asa, se blocheaza so_fork si<br>
voi avea probleme la testare, de exemplu de la testul 4 in sus. Cel putin<br>
asa banuiesc ca se intampla.<br>
3. Dupa trezirea din wait, daca threadul trebuie sa mai astepte sa ii vina<br>
randul, unde fac asta? Pun in wait sa astepte iar dupa o variabila de<br>
conditie globala si ramane blocat in wait? (practic cand este planificat,<br>
iese din wait si executa in continuare)<br>
4.Pot face broadcast in signal si sa blochez threadurile ca in punctul 3?<br>
<br>
Momentan doar atat. Daca cineva are idei sau intrebari, feel free to contribute<br>
<br>
<br>
_______________________________________________<br>
<a href="http://ocw.cs.pub.ro/courses/so/info/lista-discutii" target="_blank">http://ocw.cs.pub.ro/courses/so/info/lista-discutii</a></blockquote></div><br><br clear="all"><div><br></div>-- <br>Răzvan Crainea
</div>