package main
import(
"fmt"
"sync"
"time"
//"runtime"
)
func main() {
var wg sync.WaitGroup
c := make(chan int)
for i := 0; i < 4; i++
wg.Add(1)
go func() {
for{
select{
case x := <- c:
fmt.Println(x)
case <- time.After(time.Second*10):
fmt.Println("timeout")
goto END
}
}
END:
wg.Done()
}()
}
for j := 0; j < 10000; j++ {
c <- j
}
wg.Wait()
}