CodeGym
AI Academy
Promoción
CodeGym University
Aprendizaje
Cursos
Tareas
Encuestas & Cuestionarios
Juegos
Ayuda
Horario
Comunidad
Usuarios
Foro
Chat
Artículos
Historias de éxito
Actividad
Reseñas
Suscripciones
Tema claro

Lecciones

  • Reseñas
  • Sobre nosotros
Comenzar
Comenzar a aprender
Comienza a aprender ahora
  • Mi progreso
  • Cursos
  • Universidad
  • Mapa de misiones
  • Lecciones
  • Hilos frente a hilos virtuales: diferencias y ventajas

    JAVA 25 SELF
    Nivel 57,Lección 0
    Desgranamos en qué se diferencian los hilos de plataforma de los virtuales: cómo funciona el modelo « Platform Thread → SO» y por qué es pesado, qué cambia con los hilos virtuales ( Virtual Thread) sobre carrier threads, y cómo eso aporta escalabilidad sin «espagueti» reactivo. Veremos la práctica con Thread.ofVirtual(), compararemos el comportamiento para tareas I/O‑bound y CPU‑bound, trataremos la compatibilidad (llamadas bloqueantes como InputStream.read, Socket.accept) y los errores típicos (sincronizaciones antiguas, esperar una «aceleración mágica»).
    Disponible
  • Creación de hilos virtuales: Thread.ofVirtual().start()

    JAVA 25 SELF
    Nivel 57,Lección 1
    Práctica con los hilos virtuales de Java 21: en qué se diferencian de los de plataforma, cómo iniciarlos mediante Thread.startVirtualThread(...) y Thread.ofVirtual().start(...), cuándo sigue siendo adecuado new Thread(...) o Thread.ofPlatform(), y cómo ejecutar tareas en masa con Executors.newVirtualThreadPerTaskExecutor(). Veremos la espera de finalización con join(), el manejo de errores con Future y ExecutionException, así como los errores típicos al usar hilos virtuales.
    Disponible
  • Escalabilidad y rendimiento de Virtual Threads

    JAVA 25 SELF
    Nivel 57,Lección 2
    Comparación práctica entre hilos de plataforma Thread y hilos virtuales de Java 21: cómo la JVM, gracias a los « portadores» (carrier threads), ejecuta cientos de miles de tareas con un uso mínimo de memoria; dónde los hilos virtuales brillan (I/O‑bound) y dónde no (CPU‑bound). Veremos las limitaciones ( synchronized, bloqueos nativos), las mejores prácticas ( Executors.newVirtualThreadPerTaskExecutor()), la monitorización con JVisualVM y Java Flight Recorder, así como los errores típicos al migrar a Virtual Threads.
    Disponible
  • Uso de Executor con hilos virtuales

    JAVA 25 SELF
    Nivel 57,Lección 3
    Analizamos cómo ejecutar una tarea en un hilo virtual con Executors.newVirtualThreadPerTaskExecutor() (Java 21), en qué se diferencia de los pools clásicos ( newFixedThreadPool, newCachedThreadPool), cómo cerrar correctamente con shutdown() y awaitTermination(...), cómo obtener resultados de las tareas mediante Future y dónde los hilos virtuales proporcionan la mayor ventaja (I/O masivo, servidores web, pruebas de carga). Al final — errores típicos y matices.
    Disponible
  • Scoped Values y nuevas mecánicas de hilos (Java 21+)

    JAVA 25 SELF
    Nivel 57,Lección 4
    Analizamos por qué el clásico ThreadLocal pierde relevancia en el mundo de los hilos virtuales y cómo lo sustituye ScopedValue: un contexto ligado al ámbito de ejecución y no al hilo. Ejemplos paso a paso de propagación de contexto (usuario, REQUEST_ID), scopes anidados y su superposición, integración con hilos virtuales ( Executors. newVirtualThreadPerTaskExecutor()). Hablamos de la comparación ThreadLocal vs ScopedValue, consejos prácticos, limitaciones y una mirada a Structured Concurrency (preview).
    Disponible
Aprender
  • Registro
  • Curso de Java
  • Ayuda con tareas
  • Precios
  • Sintaxis de Java
Comunidad
  • Usuarios
  • Artículos
  • Foro
  • Chat
  • Historias de éxito
  • Actividad
  • Programa de afiliados
Empresa
  • Acerca de nosotros
  • Contactos
  • Reseñas
  • Sala de prensa
  • CodeGym para EDU
  • Preguntas frecuentes
  • Soporte
CodeGymCodeGym es un curso en línea para aprender programación Java desde cero. Este curso es una forma perfecta de dominar Java para principiantes. Contiene más de 1.200 tareas con verificación instantánea y un conjunto esencial de teoría sobre los fundamentos de Java. Para ayudarte a tener éxito en la formación, hemos implementado una serie de funciones motivacionales: cuestionarios, proyectos de programación, contenido sobre aprendizaje eficiente y contenidos sobre la carrera profesional de un desarrollador Java.
Síguenos
Idioma de la interfaz
English Deutsch
Español
हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Los programadores se hacen, no nacen" © 2026 CodeGym
MastercardVisa
"Los programadores se hacen, no nacen" © 2026 CodeGym