41 lines
447 B
Go
41 lines
447 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"sync"
|
|
)
|
|
|
|
type Res struct {
|
|
num int
|
|
name string
|
|
}
|
|
|
|
func Route(i int,k string, ch chan<- Res) {
|
|
ch <- Res{
|
|
num: i,
|
|
name: k,
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
ch := make(chan Res,20)
|
|
var wg sync.WaitGroup
|
|
|
|
for i:= range 10 {
|
|
for _,k := range []string{"thr1","thr2"} {
|
|
wg.Add(1)
|
|
go func () {
|
|
defer wg.Done()
|
|
Route(i, k, ch)
|
|
}()
|
|
}
|
|
}
|
|
|
|
wg.Wait()
|
|
close(ch)
|
|
|
|
for i := range ch {
|
|
fmt.Println(i)
|
|
}
|
|
}
|