Sobes.tech
Middle

¿Cómo funcionan las operaciones atómicas?

sobes.tech AI

Respuesta de la IA

Las operaciones atómicas son operaciones que se ejecutan en su totalidad o no se ejecutan en absoluto, sin estados intermedios visibles para otros hilos.

En Go, el paquete sync/atomic proporciona funciones para realizar estas operaciones en variables (por ejemplo, AddInt32, CompareAndSwapInt64). Esto permite modificar valores de manera segura en entornos concurrentes sin usar mutexes.

Ejemplo:

import (
    "fmt"
    "sync/atomic"
)

func main() {
    var counter int32 = 0
    atomic.AddInt32(&counter, 1) // incremento atómico en 1
    fmt.Println(counter) // 1
}

La atomicidad garantiza que la operación no será interrumpida y que otros goroutines verán ya sea el valor antiguo o el nuevo, pero no uno intermedio.