Compteurs atomiques
Contexte
Section intitulée « Contexte »Le package sync/atomic fournit des opérations atomiques bas niveau pour les entiers et les pointeurs. Utilisez‑les pour incrémenter des compteurs sans verrous.
Incrémenter un compteur depuis plusieurs goroutines avec atomic.AddUint64.
Code exemple
Section intitulée « Code exemple »package main
import ( "fmt" "sync" "sync/atomic")
func main() { var compteur uint64 var wg sync.WaitGroup
for i := 0; i < 1000; i++ { wg.Add(1) go func() { atomic.AddUint64(&compteur, 1) wg.Done() }() } wg.Wait() fmt.Println("compteur :", compteur)}compteur : 1000