¿Cómo funciona Atomic Community msc?

Bajo la arquitectura X86, se proporcionan bloqueos de prefijo de instrucciones para implementar operaciones atómicas.

Si la capa superior de la capa donde se encuentra esta operación no puede encontrar su implementación y estructura internas, entonces esta operación es una operación atómica. Una operación atómica puede constar de uno o varios pasos, pero su orden no se puede interrumpir ni cortar, y solo se puede ejecutar una parte de ella. Tratar toda la operación como un todo es una característica central de la atomicidad.

Cuando varios procesos (hilos) acceden a recursos compartidos, se garantiza que todos los demás procesos (hilos) no accedan a los mismos recursos al mismo tiempo. La operación atómica no requiere sincronización, lo cual es una perogrullada de la programación multiproceso de Java.

La llamada operación atómica se refiere a una operación que no será interrumpida por el mecanismo de programación de subprocesos; una vez que comience esta operación, se ejecutará hasta el final sin ningún cambio de contexto (cambiar a otro subproceso). En general, las operaciones atómicas incluyen asignar valores a primos no largos y primos dobles, y devolver primos distintos de esos dos. Se excluyen porque son relativamente grandes y las especificaciones de diseño de la JVM no requieren que las lecturas y asignaciones sean atómicas (la JVM puede intentar hacer esto, pero no hay garantía).