有两件奇怪的事情。
我在切片中制作了 1000 个数字,但它只打印 246,为什么是 246?为什么不是 1000?
如果我删除"log.Println("hey")"这一行,为什么只打印0?
我知道它可能有同步问题,但我之前没有写过任何并发程序,所以有什么文章可以推荐吗?
import (
"log"
"runtime"
)
func main() {
count := 1000
slice := make([] int,count)
for i := 0; i <= count-1; i++ {
slice[i] =i
}
for _,v := range slice{
go echo(v)
}
log.Println("hey")//if delete this line,it just print 0
runtime.Gosched()
}
func echo(v int) {
log.Println(v)
}
慕斯709654
万千封印
相关分类