bilibili-backup/library/sync/errgroup.v2/example_test.go
2019-04-22 02:59:20 +00:00

64 lines
1.2 KiB
Go

package errgroup
import (
"context"
)
func fakeRunTask(ctx context.Context) error {
return nil
}
func ExampleGroup_group() {
g := Group{}
g.Go(func(context.Context) error {
return fakeRunTask(context.Background())
})
g.Go(func(context.Context) error {
return fakeRunTask(context.Background())
})
if err := g.Wait(); err != nil {
// handle err
}
}
func ExampleGroup_ctx() {
g := WithContext(context.Background())
g.Go(func(ctx context.Context) error {
return fakeRunTask(ctx)
})
g.Go(func(ctx context.Context) error {
return fakeRunTask(ctx)
})
if err := g.Wait(); err != nil {
// handle err
}
}
func ExampleGroup_cancel() {
g := WithCancel(context.Background())
g.Go(func(ctx context.Context) error {
return fakeRunTask(ctx)
})
g.Go(func(ctx context.Context) error {
return fakeRunTask(ctx)
})
if err := g.Wait(); err != nil {
// handle err
}
}
func ExampleGroup_maxproc() {
g := Group{}
// set max concurrency
g.GOMAXPROCS(2)
g.Go(func(ctx context.Context) error {
return fakeRunTask(context.Background())
})
g.Go(func(ctx context.Context) error {
return fakeRunTask(context.Background())
})
if err := g.Wait(); err != nil {
// handle err
}
}