/* Page prose (es) */
"FanningOutWithTaskGroup" = "# Repartir con `withTaskGroup`\n\nAbres un grupo con `withTaskGroup(of:)`, diciéndole el tipo que devolverá cada hija. Dentro, llamas a `group.addTask { ... }` una vez por elemento (tantas veces como quieras) y luego lees los resultados iterando el grupo con `for await`.";
"FanningOutWithTaskGroup-2" = "Lee la forma con atención, porque es todo el capítulo:\n\n* `withTaskGroup(of: Double.self)` abre el grupo. `Double` es lo que devuelve cada hija: aquí, el brillo de un fotograma.\n* `group.addTask { ... }` programa una **tarea hija**. Cada una se ejecuta concurrentemente con sus hermanas, y cada una devuelve un `Double`.\n* `for await brightness in group` extrae los resultados **de uno en uno a medida que se completan**. El grupo es un `AsyncSequence` de los valores de retorno de sus hijas.\n* El valor que `return` desde la clausura se convierte en el resultado de toda la expresión `await withTaskGroup(...)`.\n\nPara sentir la recompensa, compáralo con ejecutar el mismo trabajo de forma secuencial, esperando cada fotograma antes de que empiece el siguiente:";
"FanningOutWithTaskGroup-3" = "La versión secuencial espera cada fotograma antes de empezar el siguiente, así que 8 fotogramas a medio segundo cada uno tardan alrededor de **4 segundos**. La versión con grupo de tareas de arriba inicia los 8 a la vez, así que se solapan y todo el lote termina en alrededor de **medio segundo**.\n\n* callout(Pruébalo): Sube `frameCount` a `40` en el código de arriba y vuelve a ejecutar; el tiempo paralelo apenas se mueve. Un simple bucle secuencial sobre 40 fotogramas, en cambio, treparía hacia los 20 segundos.\n\nFíjate en *por qué* esto se solapa incluso si tu dispositivo solo tiene un par de núcleos: cada fotograma aquí sobre todo **espera** (ese `Task.sleep` hace las veces de leer un archivo), y, tal como viste en el capítulo [Por qué la concurrencia](Why%20Concurrency.playgroundchapter/Overview), las tareas que esperan se apartan unas por otras. La calibración real también es trabajo de CPU, y ahí el grupo además deja que el sistema reparta los fotogramas entre los núcleos que existan. De cualquier modo, el grupo convierte un montón de trabajos independientes en un solo lote concurrente.\n\n[Anterior](@previous)  |  página 3 de 9  |  [Siguiente: Los resultados llegan en orden de finalización](@next)";
