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.