Go 系列教程 —— 25. Mutex

Noluye ·
为什么最后使用信道处理竞态条件,不要传递channel的地址啊? ```go package main import ( "fmt" "sync" ) var x = 0 func increment(wg *sync.WaitGroup, ch chan bool) { ch <- true x = x + 1 <- ch wg.Done() } func main() { var w sync.WaitGroup ch := make(chan bool, 1) for i := 0; i < 1000; i++ { w.Add(1) go increment(&w, ch) // !!!!!这里不用传递地址吗 } w.Wait() fmt.Println("final value of x", x) } ```
#7
更多评论
整个系列还是很赞的
#1
写的完太棒了,对于初学者真是万分感激
#2