github.com/aaabigfish/gopkg@v1.1.0/syncx/errgroup/example_test.go (about) 1 package errgroup 2 3 import ( 4 "context" 5 ) 6 7 func fakeRunTask(ctx context.Context) error { 8 return nil 9 } 10 11 func ExampleGroup_group() { 12 g := Group{} 13 g.Go(func(context.Context) error { 14 return fakeRunTask(context.Background()) 15 }) 16 g.Go(func(context.Context) error { 17 return fakeRunTask(context.Background()) 18 }) 19 if err := g.Wait(); err != nil { 20 // handle err 21 } 22 } 23 24 func ExampleGroup_ctx() { 25 g := WithContext(context.Background()) 26 g.Go(func(ctx context.Context) error { 27 return fakeRunTask(ctx) 28 }) 29 g.Go(func(ctx context.Context) error { 30 return fakeRunTask(ctx) 31 }) 32 if err := g.Wait(); err != nil { 33 // handle err 34 } 35 } 36 37 func ExampleGroup_cancel() { 38 g := WithCancel(context.Background()) 39 g.Go(func(ctx context.Context) error { 40 return fakeRunTask(ctx) 41 }) 42 g.Go(func(ctx context.Context) error { 43 return fakeRunTask(ctx) 44 }) 45 if err := g.Wait(); err != nil { 46 // handle err 47 } 48 } 49 50 func ExampleGroup_maxproc() { 51 g := Group{} 52 // set max concurrency 53 g.GOMAXPROCS(2) 54 g.Go(func(ctx context.Context) error { 55 return fakeRunTask(context.Background()) 56 }) 57 g.Go(func(ctx context.Context) error { 58 return fakeRunTask(context.Background()) 59 }) 60 if err := g.Wait(); err != nil { 61 // handle err 62 } 63 }