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.

276
¿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...

173
¿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 +...

153
¿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...

116
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...

106
¿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,...

92
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é...

12
Inicialización del vector de atómica.

Considerar: void foo() { std::vector<std::atomic<int>> foo(10); ... } ¿Son válidos los contenidos de foo ahora? ¿O necesito recorrerlos e inicializarlos explícitamente? He comprobado Godbolt y parece estar bien, sin embargo, el estándar parece estar muy confundido en este punto. El...