Guest User

Untitled

a guest
Apr 22nd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "sync"
  6. "time"
  7. )
  8.  
  9. func firstFunc(c1 chan string) {
  10. for {
  11. c1 <- "from 1"
  12. time.Sleep(time.Second * 2)
  13. }
  14. }
  15.  
  16. func secondFunc(c2 chan string) {
  17. for {
  18. c2 <- "from 2"
  19. time.Sleep(time.Second * 3)
  20. }
  21. }
  22.  
  23. func main() {
  24. c1 := make(chan string)
  25. c2 := make(chan string)
  26. wg := new(sync.WaitGroup)
  27.  
  28. wg.Add(3)
  29. go firstFunc(c1)
  30. go secondFunc(c2)
  31. go func() {
  32. for {
  33. select {
  34. case msg1 := <-c1:
  35. fmt.Println(msg1)
  36. case msg2 := <-c2:
  37. fmt.Println(msg2)
  38. default:
  39. fmt.Println("Hello world")
  40. time.Sleep(time.Second * 3)
  41. }
  42. }
  43. }()
  44. wg.Wait()
  45. }
Add Comment
Please, Sign In to add comment