Documentation ¶
Index ¶
Constants ¶
const ( // DEFAULT_ANTS_POOL_SIZE is the default capacity for a default goroutine pool. DEFAULT_ANTS_POOL_SIZE = math.MaxInt32 // DEFAULT_CLEAN_INTERVAL_TIME is the interval time to clean up goroutines. DEFAULT_CLEAN_INTERVAL_TIME = 1 // CLOSED represents that the pool is closed. CLOSED = 1 )
Variables ¶
var ( // ErrInvalidPoolSize will be returned when setting a negative number as pool capacity. ErrInvalidPoolSize = errors.New("invalid size for pool") // ErrInvalidPoolExpiry will be returned when setting a negative number as the periodic duration to purge goroutines. ErrInvalidPoolExpiry = errors.New("invalid expiry for pool") // ErrPoolClosed will be returned when submitting task to a closed pool. ErrPoolClosed = errors.New("this pool has been closed") )
Functions ¶
Types ¶
type Pool ¶
type Pool struct { // PanicHandler is used to handle panics from each worker goroutine. // if nil, panics will be thrown out again from worker goroutines. PanicHandler func(interface{}) // contains filtered or unexported fields }
Pool accept the tasks from client,it limits the total of goroutines to a given number by recycling goroutines.
func NewTimingPool ¶
NewTimingPool generates an instance of ants pool with a custom timed task.
type PoolWithFunc ¶
type PoolWithFunc struct { // PanicHandler is used to handle panics from each worker goroutine. // if nil, panics will be thrown out again from worker goroutines. PanicHandler func(interface{}) // contains filtered or unexported fields }
PoolWithFunc accept the tasks from client,it limits the total of goroutines to a given number by recycling goroutines.
func NewPoolWithFunc ¶
func NewPoolWithFunc(size int, pf func(interface{})) (*PoolWithFunc, error)
NewPoolWithFunc generates an instance of ants pool with a specific function.
func NewTimingPoolWithFunc ¶
func NewTimingPoolWithFunc(size, expiry int, pf func(interface{})) (*PoolWithFunc, error)
NewTimingPoolWithFunc generates an instance of ants pool with a specific function and a custom timed task.
func (*PoolWithFunc) Free ¶
func (p *PoolWithFunc) Free() int
Free returns a available goroutines to work.
func (*PoolWithFunc) Invoke ¶
func (p *PoolWithFunc) Invoke(args interface{}) error
Invoke submits a task to pool.
func (*PoolWithFunc) Running ¶
func (p *PoolWithFunc) Running() int
Running returns the number of the currently running goroutines.
func (*PoolWithFunc) Tune ¶
func (p *PoolWithFunc) Tune(size int)
Tune change the capacity of this pool.
type Worker ¶
type Worker struct {
// contains filtered or unexported fields
}
Worker is the actual executor who runs the tasks, it starts a goroutine that accepts tasks and performs function calls.
type WorkerWithFunc ¶
type WorkerWithFunc struct {
// contains filtered or unexported fields
}
WorkerWithFunc is the actual executor who runs the tasks, it starts a goroutine that accepts tasks and performs function calls.