package main
import (
"fmt"
"time"
)
func main() {
pool := make(chan chan int, 10)
chi := make(chan int)
chi2 := make(chan int)
go func() {
for {
pool <- chi
pool <- chi2
select {
case aa := <-chi:
fmt.Println("aa:", aa)
case bb := <-chi2:
fmt.Println("bb:", bb)
}
}
}()
pp := <-pool
pp <- 20
pp <- 21
cc := <-pool
cc <- 30
cc <- 33
time.Sleep(time.Second * 3)
}
数据结果:
(base) ➜ worker git:(master) ✗ go run demo/othe.go
aa: 20
aa: 21
bb: 30
bb: 33