El paquete java.util.concurrent.atomic ofrece clases como AtomicInteger, AtomicLong, AtomicBoolean y AtomicReference que realizan actualizaciones de una sola variable de forma atómica sin locks explícitos. Se apoyan en instrucciones de hardware de comparar e intercambiar (compare-and-swap, CAS): una actualización tiene éxito solo si el valor no ha cambiado desde que se leyó, y en caso contrario se reintenta. También tienen una visibilidad similar a volatile, así que todos los hilos ven el valor más reciente.
Sigue leyendo gratis
Crea una cuenta gratis de StudyToCert para leer el resto de esta lección: 6 secciones más, 5 términos clave, un ejemplo real, un consejo para el examen y preguntas de repaso. Todas las lecciones, laboratorios y exámenes de práctica son gratis con una cuenta.