Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func Run() *sync.WaitGroup {
- var wg sync.WaitGroup
- wg.Add(1)
- go func() {
- defer wg.Done()
- fmt.Printf("goroutine %pn", &wg)
- time.Sleep(5 * time.Second)
- fmt.Println("wokeup")
- }()
- fmt.Printf("returning %pn", &wg)
- return &wg
- }
- func main() {
- runtime.GOMAXPROCS(3)
- wg := Run()
- fmt.Printf(" main %pn", &wg)
- wg.Wait()
- }
- returning 0xc0840045c0
- main 0xc084000038
- goroutine 0xc0840045c0
- wokeup
- package main
- import "fmt"
- import "sync"
- import "time"
- import "runtime"
- func Run() *sync.WaitGroup {
- var wg sync.WaitGroup
- wg.Add(1)
- go func() {
- defer wg.Done()
- fmt.Printf("goroutine %pn", &wg)
- fmt.Println("sleep for 5s")
- time.Sleep(5 * time.Second)
- fmt.Println("wokeup")
- }()
- fmt.Printf("returning %pn", &wg)
- return &wg
- }
- func main() {
- runtime.GOMAXPROCS(3)
- wg := Run()
- fmt.Printf(" main %pn", wg)
- wg.Wait()
- }
- returning 0x1052e2c0
- main 0x1052e2c0
- goroutine 0x1052e2c0
- sleep for 5s
- fmt.Printf(" main %pn", &wg)
- fmt.Printf(" main %pn", wg)
- fmt.Printf(" main %pn", &wg)
- fmt.Printf(" main %pn", wg)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement