func main() { ch := make(chan int) done := make(chan int) go Sender(ch) go Receiver(ch, done) go Receiver(ch, done) // Who is ch receiving from? go Work() // Just an infinite loop fmt.Println("Done 1:", <-done) fmt.Println("Done 2:", <-done) }