1
0
mirror of https://github.com/golang/go synced 2024-11-26 23:21:22 -07:00

sync: improve WaitGroup example by putting the call to Done in a

deferred block. This makes hangs in the waiting code less likely
if a goroutine exits abnormally.

R=golang-dev, minux.ma
CC=golang-dev
https://golang.org/cl/7306052
This commit is contained in:
Gaal Yahas 2013-02-07 00:39:52 +08:00 committed by Shenghou Ma
parent c3f49ca977
commit c2fb6e2c0b

View File

@ -24,10 +24,10 @@ func ExampleWaitGroup() {
wg.Add(1)
// Launch a goroutine to fetch the URL.
go func(url string) {
// Decrement the counter when the goroutine completes.
defer wg.Done()
// Fetch the URL.
http.Get(url)
// Decrement the counter.
wg.Done()
}(url)
}
// Wait for all HTTP fetches to complete.
@ -37,7 +37,7 @@ func ExampleWaitGroup() {
func ExampleOnce() {
var once sync.Once
onceBody := func() {
fmt.Printf("Only once\n")
fmt.Println("Only once")
}
done := make(chan bool)
for i := 0; i < 10; i++ {