Golang 共享内存
Golang语言中,进程间通信除了使用channel,还可以使用共享内存,即sync包。 Q-1 package main import ( "fmt" "time" ) func main() { for i := 1; i < 6; i++ { go func(x int) { time.Sleep(time.Second) fmt.Println("第", x, "个子goroutine执行结束") }(i) } fmt.Println("主goroutine执行结束") } 上面的代码毫无疑问的只会输出:“主goroutine执行结束”,而不会输出子goroutine执行结束,这是因为,主协程一旦执行完毕,整个进程就会结束。 sync组等待 sync包中常用的有三个方法:Add(nu...阅读全文