Exercice 1 - Problèmes d'exclusion mutuelle
On cherche à étudier le comportement d'un objet modifié par plusieurs threads.
Créer deux instances de la classe Imp construites avec la même instance de Point, p, et des valeurs différentes (par exemple, Imp(p,1) pour l'un et Imp(p,2) pour l'autre).
Démarrer les deux instances. Quels sont les différents affichages possibles pour le point ? Résoudre le problème.
Exercice 2 - Producteur et consommateur
On désire développer une petite application simulant les comportements concurrents d'un ensemble de producteurs et de consommateurs de messages. D'un côté, les producteurs produisent des messages qu'ils stockent dans une file d'attente commune ; de l'autre, les consommateurs récupèrent dans ce même buffer les messages (dans l'ordre où ils y ont été placés).
On doit respecter un certain nombre de contraintes et pouvoir paramétrer l'application :