2013/5/7 Radu Stancu <[email protected]>: > Salut, > Cum pot sa determin ca un thread s-a terminat inainte sa ii expire cuanta? > De exemplu, la testul 4 se creeaza n-1 threaduri, dar cuanta este de n si mi > se blocheaza programul la join pentru ca nu are cine sa trezeasca cele n-1 > threaduri (acestea asteapta la n-1 variabile de condtie, care sunt semnalate > doar daca se termina cuanta threadului curent sau este preemptat. Cum nu se > intampla nici unul dintre cazuri, threadurile raman blocate) > > Structura so_fork: > creare thread ---- blocare intr-o functie auxiliara daca nu ruleaza > handler(prio) > exit > verificare prioritati si alegerea threadului de rulat > semnalizare thread de rulat si blocare thread curent >
În principiu, orice thread, înainte de a elibera resursele și ceda procesorul, trebuie să planifice următorul thread. În cazul testului 4, masterul își termină primul execuția, deci el este cel care planifică primul următorul thread. Cheers, -- Răzvan Crainea _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
