/* Page prose (es) */
"WhichToolWhen" = "# Qué herramienta y cuándo: una guía rápida\n\nTen esto cerca. En código nuevo, parte de la columna **Moderno**; baja a la columna **Clásico** solo por una razón listada.\n\n* **Ejecutar trabajo fuera del hilo principal.**  \nModerno: `Task { }`. Clásico: `queue.async`.\n* **Ejecutar dos o tres obtenciones independientes, conocidas de antemano.**  \nModerno: `async let`. Clásico: `DispatchGroup`.\n* **Ejecutar un número variable de trabajos paralelos.**  \nModerno: `TaskGroup`. Clásico: grupo + semáforo.\n* **Proteger estado mutable compartido.**  \nModerno: `actor`. Clásico: cola serial o semáforo de cuenta 1.\n* **Tocar la UI / volver al principal.**  \nModerno: `@MainActor`. Clásico: `DispatchQueue.main.async`.\n* **Manejar un flujo de eventos a lo largo del tiempo.**  \nModerno: `AsyncStream`. Clásico: delegado o callback repetido.\n* **Puentear una API de callback existente.**  \nModerno: `withCheckedContinuation`. Clásico: *así es como cruzas al otro lado*.\n* **Cancelar trabajo en curso.**  \nModerno: cancelación cooperativa de `Task`. Clásico: `Operation.cancel()` + `isCancelled` manual.\n\n---\n\nUn caso va al revés: cuando de verdad necesitas una **cola específica, QoS, fuente de temporizador o barrera**, GCD sigue siendo la herramienta correcta y directa, y no hay reemplazo moderno al que recurrir.\n\n[Anterior](@previous)  |  página 7 de 8  |  [Siguiente: Resumen](@next)";
