Saltar al contenido

Lección 15 de 25 · Lectura y práctica

Quiz: Concurrencia y Optimización en Go

Tipo de lección: QuizEvaluacion del moduloResponde estas preguntas para comprobar que puedes aplicar los criterios principales del modulo.

Del concepto a la práctica

Taller de esta lección

Analiza un servicio que lanza una goroutine por solicitud, usa un channel sin receptor y mantiene una conexión de base de datos hasta terminar el handler. El problema no es “usar concurrencia”, sino carecer de límites, propiedad clara y liberación oportuna.

Ejemplo resuelto

  1. Identifica la goroutine sin receptor como posible bloqueo o fuga.

  2. Sustituye la creación ilimitada por un pool con capacidad conocida.

  3. Añade context.WithTimeout a la operación de persistencia.

  4. Libera la conexión al terminar la consulta, no al terminar tareas ajenas.

Cuenta trabajos activos con una señal o contador protegido y espera a todos antes de medir el final. go test -race detecta determinadas carreras en ejecuciones observadas, pero un pase no demuestra ausencia universal de carreras o fugas. Un timeout solo solicita cancelación: cada tarea y dependencia debe cooperar para que termine.

Pruébalo

Escribe tres riesgos y una corrección verificable para cada uno; después prueba una carga local de diez trabajos con cuatro workers.

Comprueba tu resultado

Tu propuesta debe mostrar un máximo de cuatro trabajos activos, timeout observable y cero goroutines bloqueadas al finalizar.

Error frecuente: confundir “más goroutines” con “más rendimiento”. Corrección: mide espera, saturación y memoria; elige concurrencia según dependencia y capacidad, no por una cifra arbitraria.

Diagrama de decisión con ramas Sí y No y un bucle que procesa cada elemento de una lista.
CursaloMapa de práctica
Cómo avanza un programa

Una condición decide qué camino ejecuta el programa. Un bucle repite una operación mientras queden elementos, y termina cuando la lista se agota. Separar ambas ideas ayuda a seguir el flujo y comprobar casos límite.

Ver la infografía en tamaño completo ↗
Fuentes para profundizar

Tipo de lección: Quiz

Evaluacion del modulo

Responde estas preguntas para comprobar que puedes aplicar los criterios principales del modulo.

Sigue con APIs REST en Go: Concurrencia, Despliegue y Monitoreo

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.