Preguntas etiquetadas con atomic

Una operación atómica es indivisible. Este término se utiliza para describir transacciones en bases de datos, accesos de bajo nivel en programas multiproceso y operaciones del sistema de archivos, entre otros.


7
¿Cuál es la diferencia entre atómica / volátil / sincronizada?
¿Cómo funcionan internamente atómico / volátil / sincronizado? ¿Cuál es la diferencia entre los siguientes bloques de código? Código 1 private int counter; public int getNextUniqueIndex() { return counter++; } Código 2 private AtomicInteger counter; public int getNextUniqueIndex() { return counter.getAndIncrement(); } Código 3 private volatile int counter; public int …

6
¿Qué significa "atómico" en la programación?
En el libro de Effective Java, dice: La especificación del lenguaje garantiza que leer o escribir una variable es atómica a menos que la variable sea de tipo longo double[JLS, 17.4.7]. ¿Qué significa "atómico" en el contexto de la programación Java, o la programación en general?
276 java  atomic 


3
¿Qué es exactamente std :: atomic?
Entiendo que std::atomic<>es un objeto atómico. ¿Pero atómico hasta qué punto? A mi entender, una operación puede ser atómica. ¿Qué se entiende exactamente por hacer un objeto atómico? Por ejemplo, si hay dos subprocesos que ejecutan simultáneamente el siguiente código: a = a + 12; Entonces, ¿toda la operación (por …

13
¿Puede num ++ ser atómico para 'int num'?
En general, for int num, num++(or ++num), como una operación de lectura-modificación-escritura, no es atómica . Pero a menudo veo que los compiladores, por ejemplo GCC , generan el siguiente código ( intente aquí ): Dado que la línea 5, que corresponde a num++una instrucción, ¿podemos concluir que num++ es …

8
¿Es seguro el hilo! = Check?
Sé que las operaciones compuestas, como i++no son seguras para subprocesos, ya que implican múltiples operaciones. ¿Pero verificar la referencia consigo mismo es una operación segura para subprocesos? a != a //is this thread-safe Traté de programar esto y usar múltiples hilos pero no falló. Supongo que no podría simular …

5
¿Cuándo usar volátil con multihilo?
Si hay dos subprocesos que acceden a una variable global, muchos tutoriales dicen que la variable sea volátil para evitar que el compilador guarde en caché la variable en un registro y, por lo tanto, no se actualice correctamente. Sin embargo, dos hilos que acceden a una variable compartida es …

6
AtomicInteger lazySet frente a conjunto
¿Cuál es la diferencia entre los métodos lazySety setde AtomicInteger? La documentación no tiene mucho que decir sobre lazySet: Eventualmente se establece en el valor dado. Parece que el valor almacenado no se establecerá inmediatamente en el valor deseado, sino que se programará para establecerse en el futuro. Pero, ¿cuál …
116 java  concurrency  atomic 


4
¿El archivo adjunto es atómico en UNIX?
En general, ¿qué podemos dar por sentado cuando agregamos a un archivo en UNIX desde múltiples procesos? ¿Es posible perder datos (un proceso sobrescribe los cambios del otro)? ¿Es posible que los datos se estropeen? (Por ejemplo, cada proceso agrega una línea por anexo a un archivo de registro, ¿es …

3
costo de operación atómica
¿Cuál es el costo de la operación atómica (cualquiera de comparación e intercambio o adición / disminución atómica)? ¿Cuántos ciclos consume? ¿Pausará otros procesadores en SMP o NUMA, o bloqueará los accesos a la memoria? ¿Vaciará el búfer de reordenamiento en la CPU fuera de servicio? ¿Qué efectos habrá en …




Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.