US

Introduction

Dans le chapitre précédent, on a vu qu'il était possible de partager des objets entre plusieurs threads. Afin de préserver l'état de l'objet, pour les objets modifiables, il faut utiliser le mécanisme de synchronisation. Ce mécanisme permet de contrôler les threads en les empêchant de s'exécuter dans certaines situations.

Dans ce chapitre, on va voir plusieurs mécanismes qui permettent de contrôler les threads. On va tout d'abord voir comment arrêter un thread proprement. En effet, certains threads ont comme comportement de continuer à s'exécuter tant qu'on ne leur donne pas l'ordre de s'arrêter et on va voir comment donner un tel ordre.

Ensuite, on verra comment ajouter de l'interaction et de la coordination entre threads. Pour ce faire, on va utiliser le mécanisme intégré de Java : wait / notify. On verra qu'un thread peut se mettre en attente (wait), et il ne s'exécutera plus jusqu'à ce qu'il se fasse réveiller (notify).

Ensuite, on verra un exemple concret qui utilise ce mécanisme. La troisième section décrit comment implémenter un buffer partagé. Il s'agit d'une structure de données dans laquelle on peut ajouter et supprimer des éléments, plusieurs threads pouvant accéder au buffer en même temps. Le buffer possède une taille limitée et on ne peut rien lire dans un buffer vide, ni écrire dans un buffer plein.

Enfin, le chapitre se termine sur la notion de timer. On verra comment il est possible d'écrire un thread dont le rôle est de répéter une certaine tâche à intervalles réguliers. On a déjà vu au premier chapitre qu'on pouvait utiliser la méthode sleep pour ce faire. On verra ici une autre technique, plus adaptée.

Plan du chapitre

  1. Arrêter un thread
  2. Interaction entre threads
  3. Buffer partagé
  4. Timer
Chapitre 3
  • Espace membre
  • Learning Center
  • Les forums
  • Livre d'or
  • Imprimer
  • Boutique
  • Info
  • Règlement
  • Erreur
  • Newsletter