50个阻塞的协程,不会有50个线程产生

前端之家收集整理的这篇文章主要介绍了50个阻塞的协程,不会有50个线程产生前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

package main import ( _"os" "fmt" "time" )

func main() { for i:=0; i<50; i++ { c := make(chan int) go func( index int,cp chan int ) {// //for { fmt.Println("before send to chan,index is ",index) cp<-0 // will block fmt.Println("after send,index) //} }(i,c)//

go func(cp chan int ){
		time.Sleep(5*time.Second)
		<-cp
	}(c)
}
time.Sleep(10*time.Second)
//select{}

}

猜你在找的Go相关文章