Guest User

Untitled

a guest
Jun 25th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.46 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "math/rand"
  6. "sync"
  7. )
  8.  
  9. func main() {
  10. chs := make(chan int, 10)
  11.  
  12. var wg sync.WaitGroup
  13. wg.Add(10)
  14.  
  15. for i := 0; i < 5; i++ {
  16. go func(r int) {
  17. defer wg.Done()
  18.  
  19. num := <-chs
  20. fmt.Printf("Routine: %d Recv: %d\n", r, num)
  21. }(i)
  22. }
  23.  
  24. for i := 0; i < 5; i++ {
  25. go func(r int) {
  26. defer wg.Done()
  27.  
  28. num := rand.Intn(10)
  29. chs <- num
  30. fmt.Printf("Routine: %d Send: %d\n", r, num)
  31. }(i)
  32. }
  33.  
  34. wg.Wait()
  35. fmt.Println("done")
  36. }
Add Comment
Please, Sign In to add comment