2つの奇妙なことがあります。
スライスで 1000 個の数字を作成しましたが、246 しか表示されません。
「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)
}