channel之阻塞一

2020-03-17  本文已影响0人  anthonydan

goroutine中的for range会阻塞

package main

import (
"fmt"
"time"
)

func main() {
var ch chan int // 未初始化,值为 nil
ch = make(chan int, 10)
go func() {
fmt.Println("start range")
for v := range ch {
fmt.Println("range ing")
fmt.Println(v)
}
}()
time.Sleep(20 * time.Second)
close(ch)
time.Sleep(2 * time.Second)
}

上一篇 下一篇

猜你喜欢

热点阅读