Vous êtes sur la page 1sur 4

Partie I : Utilisation des taches

Pour créer une tache dans la norme Posix on utilise la fonction suivante :

int pthread_create(pthread_t *thread, pthread_attr_t *attr, void* (*start_routine)(void*),


void *arg);

Les paramétres de cette fonction :


 thread : un pointeur contenant l’identificateur de la tâche
 attr : une variable qui indique les propriétés de la tache comme sa priorité, type
d’ordonnancement.
 start_routine : la fonction a exécutée par la tache
 arg : un pointeur correspond aux paramètre de la fonction start_routine

La fonction pthread_create renvoie 0 dans les conditions normales et un nombre négatif dans le cas
contraire.

Application I.1 :

Sous le système d’exploitation Linux, le compilateur C est installé par defaut et la bibliothéque
« pthread » aussi. Dans l’application en cours nous allons écrire un programme dont l’objectif est de
créer une ou deux taches et d’exécuter le programme sous la console.
Pour réussir cette application veuillez suivre les étapes suivantes :
1. Installation de l’éditeur de code :
1. Sur la barre de gauche cliquez sur l’icône suivante pour accéder au répertoire des
applications a installer

2. Dans la barre de recherche tapez le nom de votre editeur de code favoris, ici on choisit
l’Éditeur code blocks, après avoir repérer l’éditeur a installer cliquer sur son icône et sur
installer par la suite
2. Après l’installation de l’éditeur de code, veuillez ouvrir un nouveau projet et de l’enregistrer
sur le bureau sous le nom test00.c

Les première quatre ligne de code correspond au bibliothèque utilisées. La bibliothèque


pthread contient toute les primitives du temps réels
La ligne 20, on déclare le nom des deux taches a créer
Les ligne 22 et 23 correspond au fonction de création des deux taches.
3. Pour exécuter ce programme, on commence par ouvrir le terminal, ensuite on tapant la
commande ci dessus pour ouvrir le dossier conteneur des programmes
pour exécuter un programme c on utilise la commande suivante :

ensuite on exécute le fichier exécutable :


5. Décrire le comportement du programme en justifiant

Application I.2 :

Pour synchroniser l’exécution entre les taches, on utilise une fonction dont l’objectif est de mettre
en attente une tache jusqu’à la terminaison de l’exécution d’une tache en cours

int pthread_join(pthread_t *thread, void** thread_return)

Le paramètre *thread représente l’identificateur de la tache mise en attente


Le paramètre thread_return est une variable dans laquelle on stocke la valeur de retour produite par
la tache.

1. On considère le programme précédant, on y ajoute ces deux lignes pour voir le résultat de
l’exécution des taches

2. Enregistrer les modifications dans une nouvelle feuille, sur la console exécuter le
programme en suivant les étapes précédentes
3. Décrire le résultat de l’exécution.

Vous aimerez peut-être aussi