package main
import "fmt"
//func Add(x, y int) {
// z := x + y
// fmt.Println(z)
//}
//
//func main() {
// for i := 0; i < 10; i++ {
// go Add(i,i)
// }
//}
/*
由于golang的main函数不会等待协程进行完毕,所以会直接结束,不会返回结果
解决办法:
1. 通常在别的语言中都有添加锁的操作,等待进程完成 join方法
2. golang中提供了第二种方法,通过channel解决,通过消息机制
*/
func Count(ch chan int) {
ch <- 1
fmt.Println("Counting")
}
func main() {
chs := make([]chan int, 10)
for i := 0; i<10; i++ {
chs[i] = make(chan int)
go Count(chs[i])
}
for _, ch := range(chs) {
<-ch
}
}
04-22
6152
11-22
7万+
03-16
244
10-27
7909