Junior — Middle
Ați folosit operații atomice în proiectele dvs.?
sobes.tech AI
Răspuns de la AI
În Go, operațiile atomice sunt utilizate pentru a modifica în siguranță variabilele într-un mediu concurent fără a folosi mutex-uri. De exemplu, pachetul sync/atomic oferă funcții pentru creșterea, compararea și înlocuirea valorilor în mod atomic.
Exemplu de incrementare atomică a unui contor:
import (
"fmt"
"sync/atomic"
)
var counter int64
func increment() {
atomic.AddInt64(&counter, 1)
}
func main() {
increment()
fmt.Println(atomic.LoadInt64(&counter)) // Va afișa 1
}
Utilizarea operațiilor atomice ajută la evitarea condițiilor de cursă atunci când se lucrează cu tipuri de date simple, asigurând performanță ridicată fără blocări.