¿Cuál es el uso exacto de las clases en el paquete java.util.concurrent.atomic en Java?

Soy relativamente nuevo java. Estoy tratando de entender cuál es el uso de las clases en el paquete:

java.util.concurrente.atomic

Traté de entender el javaDoc para este paquete para entenderlo. Pero realmente no podría tener ningún sentido cuando debo usar estas clases. ¿Alguien puede dar ejemplos y más descripciones en palabras simples? gracias

preguntado el 10 de septiembre de 12 a las 22:09

¿Qué no pudiste entender? -

"prevenir la interferencia de subprocesos sin recurrir a la sincronización" docs.oracle.com/javase/tutorial/essential/concurrency/… -

1 Respuestas

Considere que 10 subprocesos están incrementando int i (inicializado en 0) y generando el valor de la consola. Puedes obtener algo como esto:

1
2
2
3
3
5
6
6
8
10

AtomicInteger, por ejemplo, asegura que cada subproceso pueda incrementar o disminuir el valor atómicamente, asegurando que la operación de escritura ocurra de manera sincronizada, y para 10 subprocesos, la salida siempre sería:

1
2
3
4
5
6
7
8
9
10

Respondido el 10 de Septiembre de 12 a las 22:09

¿Por qué saltas del 3 al 5 y del 6 al 8 en tu primer ejemplo? ¿No deberían 2 subprocesos leer un valor al mismo tiempo y escribir el mismo valor? - Paul

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.