Question 1 :
On lance le programme td2ex2 en arrire plan et on
tape ps aussitt. On constate que le nombre de
processus de nom td2ex2 est gal  6, alors que le
programme ne cre que 4 threads. Or on ne devrait
avoir que 5 processus actifs : notre programme et les
4 threads. Ceci vient du fait que le systme Linux
lance un processus ordonnanceur charg de grer les
temps de travail des threads de notre programme.

Question 2 :
On a cr le programme td2ex2-2 qui lance 4 threads.
Une variable globale dans ce programme a t
dclare : c'est la variable varglobale. Elle est
initialise et chacun des threads va la modifier.
Avant d'effectuer cette modification, il affiche
l'ancienne valeur de la variable. Ceci nous a permis
de nous rendre compte que chacun des threads accde
 cette variable.
En revanche, si on avait travaill avec des processus
fils (fork) chacun des fils aurait eu sa propre copie
de la variable globale puisque lors de la cration
d'un fils, les zones de programme et de donnes sont
recopies dans un nouveau segment de mmoire.

Question 3 :
Pour accder aux variables locales d'un autre thread,
il faut que le thread en question ait plac l'adresse
de cette variable dans une variable globale. Ainsi,
le thread modificateur peut accder grce  ce
pointeur sur la variable.
Ce principe est mis en application dans le programme
td2ex2-3

Question 4 :
Pour crer plusieurs threads, on a utilis un tableau.
Ce tableau est une variable globale pour permettre  un
thread d'accder aux autres threads pour, par exemple,
se synchroniser dessus, ou lui demander de s'arrter.
join a pos quelques problmes car il a fallu dclarer
un void * pour la valeur de retour et passer l'adresse
 la fonction. lors d'une tentative d'affichage, il
 faut donc transformer le pointeur void en pointeur int
 puis prendre la valeur pointe par ce pointeur int.

