
Conceptos básicos de la concurrencia de Java
- Descripción general de java.util.concurrent
- Guía para la palabra clave sincronizada en Java
- Guía de palabras clave volátiles en Java
- Guía de java.util.concurrent.Future
- Introducción a ThreadLocal en Java
- Ciclo de vida de un hilo en Java
- Cómo matar un hilo de Java
- Introducción a los grupos de subprocesos en Java
- Implementar un ejecutable frente a extender un hilo
- esperar y notificar () Métodos en Java
- Ejecutable frente a invocable en Java
- Diferencia entre esperar y dormir en Java
- El método Thread.join () en Java
- Usando un objeto Mutex en Java
- ThreadPoolTaskExecutor corePoolSize frente a maxPoolSize

Concurrencia avanzada en Java
- Hilos de demonio en Java
- Una guía para Java ExecutorService (popular)
- Guía del Framework Fork / Join en Java
- Grupos de subprocesos personalizados en Java 8 Parallel Streams
- Guía de CountDownLatch en Java
- Guía de java.util.concurrent.Locks
- ExecutorService - Esperando a que finalicen los subprocesos
- Guía de Java Phaser
- Guía para CompletableFuture (popular)
- CyclicBarrier en Java
- Guía de ThreadLocalRandom en Java
- Java CyclicBarrier vs CountDownLatch
- ¿Qué es Thread-Safety y cómo lograrlo?
- Cómo retrasar la ejecución de código en Java

Otros recursos de simultaneidad
- El problema de los filósofos gastronómicos en Java
- Preguntas de la entrevista de simultaneidad de Java (+ respuestas)
- Utilidad de concurrencia de Java con JCTools