Tp 2: création de threads sous linux - systèmes d’exploita -

Télécharger PDF

Obtenir le pack complet des cours, TDs, examens sur Systèmes d’Exploitation!

Vous souhaitez maîtriser Systèmes d’Exploitation ? Ne cherchez plus, nous avons le pack bien choisi pour vous.

pack complet des cours, TDs, TPs et examens exercices sur Systèmes d’Exploitation

Accédez à une collection complète des supports de cours, des travaux dirigés (TDs) corrigés, TPs avec solution, examens...

Télécharger pack

Universit" de Bouira- D ́epartement d’InformatiqueAnn ́ee 2017-2018

Syst`emes d’exploitation des Ordinateurs 23`eme ann ́ee

TP 2: cr ́eation de Threads sous linux

Exercice 1

Probl`eme des acc`es concurrents ́

Ecrire un programme qui initialise une variable enti`erevalueglobale`a 1 et cr ́ee deux threadthaet

thb. Le threadthaincr ́ementevalueglobale100000 fois et le threadthbd ́ecr ́ementevalueglobale

100000 fois.

1.Quelle devrait ˆetre la valeur finale devalueglobale?

2.Que remarquez-vous apr`es plusieurs ex ́ecutions du programme ?

3.Expliquez

Rappels des fonctions de manipulation des threads

1. #include<pthread.h>

2. intpthread

create(pthreadt *thread, const pthreadattrt *attr, void *(*routine)(void*),

void *arg);

La fonctionpthread

createcr ́ee un thread, et renvoie 0 si la cr ́eation s’est bien d ́eroul ́ee, ou le

code de l’erreur sinon Elle re ̧coit en argument :

•le TID (Thread Identifier) du thread,

•une constante

•un pointeur vers la fonction ex ́ecut ́ee par le thread

•un argument de la fonction

3. intpthread

exit(void *valueptr) ;

La fonctionpthreadexitpermet de quitter un thread.

4. intpthread

join(pthreadt *thread, void **valueptr) ;

La fonctionpthreadjoinbloque l’appelant en attente de la fin du thread pass ́e en 1er argument,

alors que le 2nd argument est un pointeur de pointeur qui servira `a r ́ecup ́erer l’adresse de la

valeur renvoy ́ee par le thread

exit du thread, cette fonction renvoie 0 si le thread se termine

correctement, sinon elle renvoie le code de l’erreur

Par: Dr. A. ABBASpage 1

Partagez vos remarques, questions ou propositions d'amélioration ici...

Enregistrer un commentaire (0)
Plus récente Plus ancienne

Publicité 1

Publicité 2