Création de threads
Écrire un programme qui lance 3 threads, sans aucun synchronisation. Chaque thread affiche un message (le même pour tous).
Gestion des terminaisons
- Le créateur des threads précédent peut-il se terminer avant ses fils ?
- Complétez le programme pour qu'un message apparaisse lorsque les 3 threads sont terminés.
Passage de paramètres
Modifier le programme pour que le message affiché soit différent pour chaque thread. La partie variable du message devra être passée en paramètre à la création du thread.
Calcul parallèle
Écrire un programme qui calcule la somme des éléments d'un tableau en utilisant N threads.
Le principe est le suivant : chaque thread calcule la somme sur une partie du tableau, puis les sommes partielles sont additionnées par le thread principal pour obtenir le résultat final.
Accès concurrents
Le but de cet exercice est de mettre en évidence les problèmes d'accès concurrents aux données. On ne cherchera pas ici à résoudre ces problèmes.
Écrire un programme avec :
- une variable entière v initialisée à 0
- 5 threads qui :
- reçoivent en paramètre (indice: penser à une structure) :
- p : l'adresse de v
- n : un nombre d'itérations
- i : une valeur entière
- n fois, ajoutent la valeur i à l'entier pointé par p
- reçoivent en paramètre (indice: penser à une structure) :
- lorsque les 5 threads sont terminés, affiche la valeur de v
Observer.