4.1.GO协程
go协程是由GO运行时管理的轻量级线程;
go f(x,y,z)
Go程在相同的地址空间中运行,因此在访问共享的内存时必须同步,syncbao提供了这种能力;
func main() {
wg := sync.WaitGroup{}
for i := 0; i < 3; i++ {
i := i
wg.Add(1)
go func() {
time.Sleep(time.Second * 1)
fmt.Println("finished: ", i)
wg.Done()
}()
}
wg.Wait()
fmt.Println("finished!")
}
4.2.管道
//ch := make(chan int) 创建信道
// ch <- v 将v发送至信道ch
// v:= <-ch 从ch接收值并赋给v