Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "math/rand"
- "sync"
- )
- func main() {
- chs := make(chan int, 10)
- var wg sync.WaitGroup
- wg.Add(10)
- for i := 0; i < 5; i++ {
- go func(r int) {
- defer wg.Done()
- num := <-chs
- fmt.Printf("Routine: %d Recv: %d\n", r, num)
- }(i)
- }
- for i := 0; i < 5; i++ {
- go func(r int) {
- defer wg.Done()
- num := rand.Intn(10)
- chs <- num
- fmt.Printf("Routine: %d Send: %d\n", r, num)
- }(i)
- }
- wg.Wait()
- fmt.Println("done")
- }
Add Comment
Please, Sign In to add comment