profiling/mutex/atomic.go (18 lines of code) (raw):

package mutex import ( "sync" "sync/atomic" ) func IncrementAtomic(n int) int64 { var count int64 wg := sync.WaitGroup{} wg.Add(n) for i := 0; i < n; i++ { go func() { atomic.AddInt64(&count, 1) wg.Done() }() } wg.Wait() return count }