Buffer partagé
Maintenant qu'on a vu le mécanisme de wait / notify
, on va l'appliquer sur un exemple concret. Ce qu'on veut faire, c'est implémenter un buffer partagé, avec un plafond sur le nombre d'éléments qu'il est possible de stocker dans le buffer. On veut pouvoir faire deux opérations : lire l'élément suivant et ajouter un élément, sachant que le buffer doit correspondre à une file.
De plus, le buffer doit pouvoir être utilisé de manière concurrente, c'est-à-dire par plusieurs threads en même temps. Le listing suivant vous montre le squelette de la classe.