Introduction aux threads
Objectifs
Maîtriser un minimum le fonctionnement des threads.
Je vous invite à lire attentivement la page de cours de
E. Viennet consacrée aux threads.
Ce TP est également partiellement inspiré de l'excellent
site de Madame Irène Sharon (ENST - Paris) dont vous trouverez à
la BU le livre intitulé "Le langage Java : concepts et pratique"
- Éditions Hermès (ISBN 2-7462-1212-9).
Programmation
Essai 1
- Programmez une classe thread nommée repeteur qui sera identifiée par une chaine de caractères passée en paramètre de son constructeur. Votre thread ne fera pas autre chose qu'afficher quelques fois son identifiant.
- créez ensuite trois instances de votre thread et lancez les.
- en faisant tourner votre programme plusieurs fois de suite et en ayant d'autres programmes occupant le CPU, vérifier que l'ordre d'exécution des threads est difficile à prévoir
- la présence d'un attribut de classe doit vous permettre de vérifier que ces variables de classe sont partagées par tous les threads
Essai 2
- ajoutez un affichage du niveau de priorité de votre thread et jouer sur cette priorité pour voir comment vous pouvez privilégier une instance par rapport aux autres
Essai 3
- utilisez la méthode join() pour faire en sorte que des threads à haute priorité soient obligés d'attendre d'autres threads de priorité inféreieure
Essai 4
- utilisez le qualificateur synchronized sur une nouvelle méthode de notre thread pour utiliser les méthodes wait(), notify() et notifyAll()