Sobes.tech
Junior — Middle

Czy używałeś operacji atomowych w swoich projektach?

sobes.tech AI

Odpowiedź od AI

W Go operacje atomowe są używane do bezpiecznej modyfikacji zmiennych w środowisku współbieżnym bez użycia mutexów. Na przykład pakiet sync/atomic zapewnia funkcje do atomowego zwiększania, porównywania i zamiany wartości.

Przykład atomowego inkrementowania licznika:

import (
    "fmt"
    "sync/atomic"
)

var counter int64

func increment() {
    atomic.AddInt64(&counter, 1)
}

func main() {
    increment()
    fmt.Println(atomic.LoadInt64(&counter)) // Wyświetli 1
}

Użycie operacji atomowych pomaga unikać warunków wyścigu podczas pracy z prostymi typami danych, zapewniając wysoką wydajność bez blokad.