TP threads
Module BI

Bertrand Dupouy

SOMMAIRE

  1. Les threads

I. Les threads

Documentation : threads(80 Koctets)

I.1 Exercice 1 : exemple de base POSIX

ATTENTION : éventuellement utiliser :
#define _REENTRANT
avant le premier include, si problèmes.

On veut écrire un programme dans lequel main attend la fin de tous les threads qu'il a créé avec la contrainte suivante :

join ne convient pas puisqu'elle impose un ordre sur la fin des threads dont on attend la terminaison.
On utilisera donc une variable conditionnelle sur laquelle se bloque main une fois qu'il a créé et lancé tous les threads.
Cette variable conditionnelle sera signalée par les threads fils lors de leur terminaison.

On vous donne un canevas de ce programme dans le fichier join.c .

On vous demande de le compléter (cf. lignes comportant des ...) et de le tester.

Utiliser la commande truss pour tracer l'exécution.

I.2. Exercice 2, threads Java : m threads pour effectuer n travaux

L'application à écrire doit fonctionner de la façon suivante :

On utilise deux outils de synchronisation :


Le canevas détaillé du programme réalisant cette application se trouve ici .

On vous demande de compléter ce programme, c'est à dire d'écrire les méthodes de synchronisation.
Une documentation sur ces méthodes de synchronisation, se trouve ici.

©(Copyright) dupouy@inf.enst.fr