Another use case is wait groups with Max number of goroutines allowed: ch:= make(chan bool, 10)
func waiter() { ch <-true go worker() // when empty, all jobs are finished waitempty(ch) } func worker() { // do work Select { ch <- true: go worker() // try to handover some jobs default: // max goroutine limit // do them yourself } // do remaining jobs // make way <- ch return } -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.