Waiting for goroutines
yourbasic.org/golang
A sync.WaitGroup
waits for a group of goroutines to finish.
var wg sync.WaitGroup
wg.Add(2)
go func() {
// Do work.
wg.Done()
}()
go func() {
// Do work.
wg.Done()
}()
wg.Wait()
- First the main goroutine calls
Add
to set the number of goroutines to wait for. - Then two new goroutines run and call
Done
when finished.
At the same time, Wait
is used to block until these two goroutines have finished.
Note: A WaitGroup must not be copied after first use.