programmation Java (école d'ingénieur) · Chapitre 15 · Exercice de TD
Producteur, consommateurs
Threads · niveau 2
Énoncé
Reprendre le programme producteur-consommateur du cours avec deux consommateurs. Combien de valeurs sentinelles le producteur doit-il déposer ? Que se passe-t-il s'il n'en dépose qu'une ?
Corrigé
Chaque consommateur s'arrête à la première sentinelle qu'il retire de la file : avec deux consommateurs, il faut déposer deux sentinelles, une pour chacun. Avec une seule, un consommateur s'arrête, l'autre reste bloqué pour toujours dans take() sur une file vide, et le join du fil principal ne rend jamais la main. En général : autant de sentinelles que de consommateurs, déposées après la dernière vraie donnée. Avec deux sentinelles, deux consommateurs qui additionnent les entiers de à produits par le fil principal trouvent bien, ensemble :
somme totale = 5050100 % gratuit
La suite du chapitre est sur Adloun
- 9 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.