Documentation
¶
Overview ¶
Package pool contains a simple threadpool implementation that accepts work in the form of `func() error` function. The intent is for it to support similar workloads to errgroup, but with a maximum number of concurrent worker threads.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Interface ¶
type Interface interface {
// Go queues a single unit of work for execution on this pool. All calls
// to Go must be finished before Wait is called.
Go(func() error)
// Wait blocks until all work is complete, returning the first
// error returned by any of the work.
Wait() error
}
Interface defines an errgroup-compatible interface for interacting with our threadpool.
func NewWithCapacity ¶
func NewWithCapacity(workers, capacity int) Interface
NewWithCapacity creates a fresh worker pool with the specified size.
func NewWithContext ¶ added in v0.12.0
func NewWithContext(ctx context.Context, workers, capacity int) (Interface, context.Context)
NewWithContext creates a pool that is driven by a cancelable context. Just like errgroup.Group on first error the context will be canceled as well.
Click to show internal directories.
Click to hide internal directories.