Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "sync"
- )
- func main() {
- var workers = 4
- var wg sync.WaitGroup
- var chains = make([]chan int, workers)
- for i := 0; i < workers; i++ {
- chains[i] = make(chan int)
- wg.Add(1)
- go func(c chan int) {
- defer wg.Done()
- for {
- n, more := <-c
- if more {
- fmt.Println(n)
- } else {
- fmt.Println("close")
- return
- }
- }
- }(chains[i])
- }
- for i := 0; i < 1000; i++ {
- chains[i%workers] <- i
- }
- for i := 0; i < workers; i++ {
- close(chains[i])
- }
- wg.Wait()
- fmt.Println("Hello, playground")
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement