Alex 'CAVE' Cernat <[email protected]> writes:
> in cazul meu operatiile de final (daca exista)  nu se bazeaza pe cele in
> paralel (decat cel mult niste coduri de ok / eroare), astfel incat cu
> procese le-as putea scoate usor, dar daca se poate cu thread-uri si e
> mai performant ... de ce nu ?

Nu știu când am făcut ultima oară benchmarking pe tema asta, dar timpul
de creare a proceselor și de schimbare de context între procese (context
switch) nu este drastic mai mare decât cel între thread-uri pe
Linux. Partea cu "lightweight" nu aș considera-o un avantaj foarte mare
al thread-urilor; cel mai important este că partajează mai ușor
(implicit) datele.

Procesele rămân cu avantajul izolării; dacă un thread o ia pe ulei
riscă să-ți bușească tot procesul. Așa un proces când pică, rămân altele
în viață. De exemplu, chrome/chromium este multi-proces (un proces per
tab), iar Firefox este multi-threaded (un thread per tab) (sau ceva
similar). La fel cu mpm-prefork și mpm-worker.

Eu vorbesc mai mult la nivel teoretic, nu am experiență în sisteme mai
mari. Cele de sus sunt cu bulgărele de sare aferent.

> problema la care nu-i dau de cap (cel mai probabil pentru ca nu am
> inteles inca prea bine cum functioneaza threadurile) este cum fac o
> copie locala a unei variabile, astfel incat variabila respectiva sa aiba
> valorea doar pentru threadul respectiv, in alt thread putand avea o alta
> valoare, iar o asignare a acelei variabile intr-un thread sa nu
> influenteze valoarea aceleiasi variabile dintr-un altul
>
> rezumand, in principiu ma intereseaza daca se poate face exact acelasi
> lucru ce as putea sa fac cu multiproces ('copie' a datelor), dar
> folosind threaduri (cel putin unele variabile sa fie 'locale' threadului)

Se cheamă "thread local storage" sau "thread specific data"[1].

[1] 
http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_key_create.html

Răzvan
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui