Introducción: evitar esperas infinitas
Timeout define límite máximo para operación. Llamas API, esperas. Sin timeout: esperas para siempre si API cuelga. Con timeout 2s: si no responde en 2s, falla, intentas fallback o reintentas. Evita cascada: si una API lenta bloquea todos los threads, tu servicio se congela. Timeout mata la operación, libera el thread, puedes servir otros requests. Imperative para cualquier I/O (network, disk, DB). HttpClient por defecto tiene timeout. Configure según latency esperada: APIs rápidas 100-500ms, APIs lentas 5-10s. Timeout es defensa contra fallos: API muere, timeout lo atrapa antes de afectar cascadamente.

Prompt: hourglass with network request, minimal style.
1. Naturaleza: instinto de escape
Los animales abandonan un intento si el riesgo crece demasiado.

Prompt: animal stopping pursuit, soft illustration.
2. Mundo Real: llamadas externas
Un servicio detiene peticiones a un API si tardan más de 2 segundos.

Prompt: slow API request timeout, flat infographic.
3. Implementación en C#: Código Paso a Paso
using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(2));
var response = await http.GetAsync(url, cts.Token);
Combina timeout con retry y circuit breaker para resiliencia completa.
4. Timeout vs Cancelación manual
Timeout es automático y consistente; la cancelación manual depende del llamador.
5. Diagrama UML

Prompt: UML timeout pattern, clean vector.

Prompt: timeout flow diagram, minimal infographic.
⚠️ Cuándo NO Usar Timeout
- Si la operación es local y rápida.
- Si el timeout es tan alto que no aporta control.
💪 Ejercicio
Define timeouts distintos para lectura y escritura en un servicio HTTP.
Conclusión
Timeout es un límite simple pero esencial para evitar bloqueos.