Golang channel 通道常见使用场景
" ) var counter=0 func Increase1000(id int,done chan bool,mutex chan bool){ for i:=0;i<1000;i++{ mutex<-true //加锁 counter+=1 time.Sleep(time.Microsecond) <-mutex //解锁 } done<-true } func main() { mutex,done:=make(chan bool,1),make(chan bool) go Increase1000(1,done,mutex) go Increase1000(2,done,mutex) <-done;<-done log.Println(counter) }...阅读全文