On Thu, 24 Feb 2005, Alex 'CAVE' Cernat wrote: > recunosc ca programarea multithread nu m-a pasionat niciodata (si sincer > n-am prea inteles-o); dar ca sa ma lamuresc si eu o data pentru > totdeauna, in cazul thread-urilor variabilele din threaduri diferite dar > acelasi proces sunt de fapt aceleasi (adica modificand o variabila > intr-un thread se modifica si variabila corespunzatoare din celalalt(e) > thread(uri) - ma rog, poate ma exprim in termeni de procese si shared > memory, dar in fond ideea conteaza)
De fapt chestia cu variabilele aceleasi la threaduri e mai low-level. E vorba ca address space-ul este shareuit de thread-uri si prin urmare variabilele globale (inclusiv cele static si heap-ul) este shareuit. Stack-ul este privat fiecarui thread (si deci si variabilele locale). Mai exista suport pt a declara variabile unice per thread accesibila dupa o "keye" (adica le dai un label si la fiecare thread ai acces la o copie privata a lor). In principal e cum ai spus, modificand o variabila globala din un thread se modifica si in celelalte. Prin urmare intri pe taramul race conditions, locking, serializing access si un nightmare pt debugging. > Alex -- Mihai RUSU Email: [EMAIL PROTECTED] GPG : http://dizzy.roedu.net/dizzy-gpg.txt WWW: http://dizzy.roedu.net "Linux is obsolete" -- AST --- Detalii despre listele noastre de mail: http://www.lug.ro/
