go atomic

atomic 使用场景简单

package main

import (
	"fmt"
	"sync/atomic"
	"time"
)

func main() {
	var  total int32 =0

	for i:=0; i<10; i++{
		go func() {
			for {
				atomic.AddInt32(&total,1)
				fmt.Println("total=%d",total)
				time.Sleep(time.Millisecond)

			}
		}()

	}
	time.Sleep(2*time.Second)
	fmt.Println("last total=%d",atomic.LoadInt32(&total))
}

Guess you like

Origin blog.csdn.net/fish_study_csdn/article/details/119208584