/* Page prose (fr) */
"CappingConcurrency" = "# Plafonner combien s'exécutent à la fois\n\nLe motif de base ajoute *toutes* les tâches d'entrée de jeu. Pour 8 images c'est très bien. Pour 500, tu viens de demander au système de démarrer 500 enfants à la fois, chacun retenant peut-être une image décodée en mémoire, ou martelant le même disque ou serveur. Cela peut faire exploser la mémoire, malmener le disque, ou te faire limiter le débit. Tu veux généralement une **limite de concurrence**: garder au plus `N` images en vol, et ne démarrer la suivante que lorsqu'une se termine.\n\nDans le modèle classique tu avais un bouton natif pour cela: le `maxConcurrentOperationCount` de `OperationQueue` du chapitre [Operations](Operations.playgroundchapter/Overview), ou un `DispatchSemaphore` du chapitre [Groupes et sémaphores](Groups%20and%20Semaphores.playgroundchapter/Overview). **Les task groups n'ont pas de tel réglage intégré**: il n'y a pas de `group.maxConcurrency = 4`. À la place, tu exprimes le plafond en contrôlant *quand tu appelles `addTask`*, et l'idiome standard est celui-ci: **amorce** le groupe avec `N` tâches, puis à l'intérieur de la boucle de récolte, ajoute une nouvelle tâche chaque fois qu'un résultat sort. Cela maintient le nombre en vol autour de `N`.";
"CappingConcurrency-2" = "**Observe l'exécution:** les 20 images sont toujours toutes traitées, et le résultat est le même que dans la version qui déploie tout en éventail. Mais à aucun instant il n'y en a plus de 4 en cours d'exécution. Avec 20 images par lots de 4 à une demi-seconde chacune, tout l'ensemble prend environ **2.5 secondes**, plus lent que de lancer les 20 à la fois, mais avec une empreinte bornée et prévisible. Ce compromis, un peu de temps d'horloge contre un plafond dur sur la mémoire et la charge, est exactement pourquoi tu y recourrais. Ajuste `maxInFlight` à la ressource que tu protèges.\n\n* callout(Essaie): Mets `maxInFlight` à `1`; tu as reconverti le groupe en la version séquentielle, une à la fois.\n\n[Précédent](@previous)  |  page 8 sur 9  |  [Suivant: Récapitulatif](@next)";
