Go语言的并发编程
- hliang
- 0
- Posted on
i intGo语言中原生引入了协程,可以通过channel实现协程间通信。
示例代码如下:
package main
import (
"fmt"
)
func myFunc(c chan int, i int) {
fmt.Printf("from myFunc %dn", i)
c <- 1
defer close(c)
}
func wait(c chan int) {
hasMore := true
for hasMore {
if _, hasMore = <-c; hasMore {
}
}
}
func main() {
c := make(chan int)
for i := 0; i < 100; i ++ {
go myFunc(c, i)
}
wait(c)
}