Programmation Parallele TD2
- Moniteurs et synchronisations.
- Créez simplement (en modifiant Verrou.java et
TestAndSet.java) les fichiers
VerrouAtomique.java,
TestAndSetAtomique.java,
afin d'avoir une solution correcte au problème de la
section critique. Vous modifierez également la méthode
main afin que le programme ne s'arrête que lorsque tous
les threads sont terminés.
- Créez simplement (en modifiant Verrou.java,
SectionCritique.java et TestAndSet.java) les fichiers
VerrousAtomiques.java,
SectionsCritiques.java,
TestAndSetsAtomiques.java,
afin d'avoir une solution correcte au problème ou chacun
des processus possède deux sections critiques distinctes.
- Le problème des Producteurs/Consommateurs avec un buffer borné.
- Complétez la méthode retirer() du fichier
TamponV1.java,
qui modélise un buffer de taille
quelconque, dont les accès sont gérés par un moniteur, qui
garantit l'exécution des méthodes synchronized en section
critique.
- Complétez les méthodes run() du fichier
ProdConsV1.java,
afin que le producteur transmette via
le media des entiers au consommateur.
- Ajoutez un parametre afin que le programme principal
arrete le producteur et le comsommateur au bout d'un certain
temps.
- Ajoutez deux parametres afin qu'un nombre quelconque de
producteurs et de consommateurs utilisent le même
tampon.
- Ajoutez une méthode vider() à l'objet tampon qui
affiche le contenu restant du buffer en le vidant.
- Modifiez votre solution afin que le programme s'arrête
de la façon suivante : le programme principal arrête les
producteurs au bout d'un certain temps.
Lorsque le buffer est vide (du fait des consommateurs), le
programme arrête les consommateurs, puis termine.
Tampon.java,
ProdCons.java,