École Supérieure des Sciences et de la Technologie de Hammam Sousse
TP : Système D’exploitation 2 Durée : 1h30 / Classe : LI1
Enseignant : Ben Khlifa Hamza Année universitaire : 2025-2026
🖥️ TP3 : Gestion des Threads
Objectif
L'objectif de ce TP est de comprendre la notion de threads en programmation concurrente sous C. Vous allez
apprendre à créer et gérer des threads, et observer leur exécution en parallèle.
🔎 Rappel sur les Threads et les Fonctions Utilisées
Qu'est-ce qu'un Thread ?
Un thread est une unité d'exécution légère qui partage l'espace mémoire avec le processus principal.
Contrairement aux processus classiques créés avec fork(), les threads permettent une exécution parallèle
plus efficace en partageant les mêmes ressources.
Bibliothèque nécessaire
Pour utiliser les threads en C, il faut inclure la bibliothèque POSIX Threads :
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
Étapes pour utiliser les threads
1. Créer la fonction à exécuter par le thread : Cette fonction doit avoir un prototype spécifique
void *fonction(void *arg);.
2. Déclarer un thread : Utilisation de pthread_t pour stocker l'identifiant du thread.
3. Créer un thread : Utilisation de pthread_create() pour démarrer l'exécution d'un thread.
4. Attendre la fin d'un thread : Utilisation de pthread_join() pour s'assurer que le programme
principal ne se termine pas avant ses threads.
5. Terminer un thread : Un thread peut se terminer en retournant une valeur ou en appelant
pthread_exit().
6. Récupérer l'identifiant d'un thread : Utilisation de pthread_self().
1/3
TP : Système D’exploitation 2 Durée : 1h30 / Classe : LI1
Enseignant : Ben Khlifa Hamza Année universitaire : 2025-2026
🖥️ TP3 : Gestion des Threads
Objectif
L'objectif de ce TP est de comprendre la notion de threads en programmation concurrente sous C. Vous allez
apprendre à créer et gérer des threads, et observer leur exécution en parallèle.
🔎 Rappel sur les Threads et les Fonctions Utilisées
Qu'est-ce qu'un Thread ?
Un thread est une unité d'exécution légère qui partage l'espace mémoire avec le processus principal.
Contrairement aux processus classiques créés avec fork(), les threads permettent une exécution parallèle
plus efficace en partageant les mêmes ressources.
Bibliothèque nécessaire
Pour utiliser les threads en C, il faut inclure la bibliothèque POSIX Threads :
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
Étapes pour utiliser les threads
1. Créer la fonction à exécuter par le thread : Cette fonction doit avoir un prototype spécifique
void *fonction(void *arg);.
2. Déclarer un thread : Utilisation de pthread_t pour stocker l'identifiant du thread.
3. Créer un thread : Utilisation de pthread_create() pour démarrer l'exécution d'un thread.
4. Attendre la fin d'un thread : Utilisation de pthread_join() pour s'assurer que le programme
principal ne se termine pas avant ses threads.
5. Terminer un thread : Un thread peut se terminer en retournant une valeur ou en appelant
pthread_exit().
6. Récupérer l'identifiant d'un thread : Utilisation de pthread_self().
1/3