package main import "fmt" import "time" import "runtime" func main(){ runtime.GOMAXPROCS(8) channel := make(chan string) for i:=0; i<5; i++ { go func (id int) { for { time.Sleep(3) msg := <-channel fmt.Println(msg, id) } }(i) } ticker := time.NewTicker(time.Second) for t := range ticker.C { fmt.Println(t) channel <- "hello world" } }