Pour chaque exercice, vous donnerez une solution en C (pthread) et en Java.

Voir les exemples donnés en cours: exemple.c et Exemple.java. Compiler le C avec l'option « -pthread ».

Création de threads

Écrire un programme qui lance 3 threads, sans aucune synchronisation. Chaque thread affiche un message (le même pour tous).

Gestion des terminaisons

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 :

Observer.