Skip to main content

Inicia sesión en CleanKata

Sigue tu progreso, gana XP y desbloquea todas las lecciones.

Al iniciar sesión aceptas nuestros Términos de uso y Política de privacidad.

Código Limpio70 XP7 min

Concurrencia: Modelo Cliente-Servidor

Estructura sistemas concurrentes cliente-servidor para aislar el estado compartido y evitar sutiles errores de hilos.

Separa la Concurrencia de la Lógica

Un servidor que maneja peticiones HTTP es un aspecto de concurrencia. La lógica de negocio que procesa cada petición es un aspecto separado. Mezclarlos crea código imposible de probar. Extrae la lógica de negocio en funciones puras de un solo hilo — fáciles de probar unitariamente, fáciles de razonar.

Limita el Alcance de los Datos Compartidos

Cuanto más hilos comparten los mismos datos, mayor es el riesgo de condiciones de carrera. Mantén los datos compartidos al mínimo. Cuando compartir sea inevitable, usa la sección crítica más pequeña posible. Prefiere datos inmutables — los datos que no pueden cambiarse no pueden tener una condición de carrera.

Desafío de Código

Corrige el estado compartido desprotegido en el manejador del servidor.

💡Conclusión clave

La concurrencia y la lógica de negocio son aspectos separados. Mantenlos en clases separadas; prueba la lógica sin hilos.

🔧 Algunos ejercicios pueden tener errores. Si algo parece incorrecto, usa el botón Feedback (abajo a la derecha) para reportarlo — nos ayuda a corregirlo rápido.

Pista: Separa los aspectos de hilos del servidor de la lógica de negocio. Mantén el alcance de los datos compartidos lo más estrecho posible.

✗ Tu versión

Concurrencia: Modelo Cliente-Servidor — CleanKata — CleanKata