Documente Academic
Documente Profesional
Documente Cultură
Obsrervatie: Modificaţi exerciţiul 1 astfel încât să folosească Thread Specific Data/Thread Local Storage şi
să permită afişarea de şiruri de caractere, nu doar de caractere.
Mai exact, rularea ./ex2 laborator 2 SO 5 ar trebui sa afiseze într-o ordine oarecare laborator de 2
ori si SO de 5 ori.
Va trebui să modificaţi structura pasată firelor de execuţie astfel încât să conţină un char* în loc
de char. Fiecare fir de execuţie va depune în Thread Specific Data/Thread Local Storage un
pointer către structura primită şi va apela o funcţie care să facă afişarea efectivă. Funcţia ce face
afişarea nu va primi nici un parametru ci va recupera pointerul la structură din Thread Specific
Data/Thread Local Storage.
Observaţi deci că Thread Specific Data/Thread Local Storage se comportă pe de-o parte ca o
variabilă globală (nu a fost nevoie sa trimitem ca parametru pe cine să afişăm funcţiei care face
afişarea) dar, spre deosebire de o variabilă globală obişnuită, este privată fiecărui fir de execuţie.
4.Să se creeze o aplicatie cu 4 fire de executie: primul fir va calcula suma partială din elemenetele
de pe pozitia 3k, al doilea dupa pozitia 3k+1, al treila de pe pozitia 3k+2. Al patrulea fir va astepta
finalizarea celor trei fir si va insuma cele 3 sume partiale, afişându-le. In programul principal se va
citi si vectorul initial.