Adloun

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 = 5050

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →