[so] [tema 4] intrebari in legatura cu tema pe linux

George Ciobanu so@cursuri.cs.pub.ro
Tue, 14 Dec 2004 08:55:55 -0800 (PST)


--- Tudor Golubenco <tudorik@mymail.ro> wrote:

> 
> 
> Buna seara,
> 
> Threadurile de tip a trebuie notificate de incheierea unei operatii de
> I/O printr-un semnal dar, conform POSIX, oricare thread care nu blocheaza
> acel semnal il poate trata. Ca urmare, semnalul nu va intrerupe neaparat
> threadul care a inceput operatia de I/O.
> 
> M-am gandit la solutia de a masca semnalul in toate celelalte threaduri in
> afara de cel ce a initiat operatia, dar asta ar limita numarul threadurilor
> de tip a la 32 (numarul de semnale realtime) sau chiar mai putin.
> 

Ai dreptate, dar nu e nici o problema aici. Odata cu tipul semnalului poti
trimite si o valoare atasata prin care sa indici ce thread trebuia sa primeasca
semnalul.


> Este bine daca threadul principal trateaza semnalul de incheiere a operatiei
> si apoi notifica prin alta metoda threadul care trebuie sa raspunda
> clientului? De exemplu, folosind semafoare sau pthread_kill()?
> 

Thread-ul principal trebuie sa se ocupe numai de conexiunile de pe retea. Odata
ce o conexiune a fost realizata, thread-ul principal ar tb sa paseze aceasta
cerere unui "working thread", in functie de tipul ei(a, b, ls).

> Si inca o intrebare: cat timp threadurile nu au nimic de facut, pot astepta
> la un semafor, sau ceva de genul asta?
> 
Este obligatoriu chiar, avand in vedere ca neasteptarea duce la busy waiting.
Solutiile cu sleep nu sunt tolerate.

> Multumesc
> 
> 

Cu placere,
George


	
		
__________________________________ 
Do you Yahoo!? 
Yahoo! Mail - You care about security. So do we. 
http://promotions.yahoo.com/new_mail