Documentation ¶
Overview ¶
Package pool littlerpc自带的goroutine池
Index ¶
Constants ¶
View Source
const (
MaxTaskPoolSize = 1024 * 16
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DynamicTaskPool ¶ added in v0.3.8
type DynamicTaskPool[Key Hash] struct { // contains filtered or unexported fields }
DynamicTaskPool v0.10 -> v0.36 实现了简单的任务池 v0.38 -> now 实现了可自动扩容的Goroutine池和可拓展的接口
func (*DynamicTaskPool[Key]) BufSize ¶ added in v0.3.8
func (p *DynamicTaskPool[Key]) BufSize() int
func (*DynamicTaskPool[Key]) ExecuteError ¶ added in v0.3.8
func (p *DynamicTaskPool[Key]) ExecuteError() int
func (*DynamicTaskPool[Key]) ExecuteSuccess ¶ added in v0.3.8
func (p *DynamicTaskPool[Key]) ExecuteSuccess() int
func (*DynamicTaskPool[Key]) LiveSize ¶ added in v0.3.8
func (p *DynamicTaskPool[Key]) LiveSize() int
func (*DynamicTaskPool[Key]) Push ¶ added in v0.3.8
func (p *DynamicTaskPool[Key]) Push(key Key, fn func()) error
func (*DynamicTaskPool[Key]) Stop ¶ added in v0.3.8
func (p *DynamicTaskPool[Key]) Stop() error
type FixedPool ¶ added in v0.4.0
type FixedPool[Key Hash] struct { // contains filtered or unexported fields }
func (*FixedPool[Key]) ExecuteError ¶ added in v0.4.0
func (*FixedPool[Key]) ExecuteSuccess ¶ added in v0.4.0
type RecoverFunc ¶ added in v0.3.8
type RecoverFunc func(poolId int, err interface{})
type TaskPool ¶
type TaskPool[Key Hash] interface { Push(Key, func()) error Stop() error // LiveSize 存活的goroutine数量 LiveSize() int // BufSize 缓冲区中存在的任务数量 BufSize() int // ExecuteSuccess 任务池执行成功的任务数量 ExecuteSuccess() int // ExecuteError 任务池执行失败的任务数量 ExecuteError() int }
func NewFixedPool ¶ added in v0.4.0
func NewFixedPool[Key Hash](bufSize, minSize, maxSize int32, rf RecoverFunc) TaskPool[Key]
func NewTaskPool ¶
func NewTaskPool[Key Hash](bufSize, minSize, maxSize int32, rf RecoverFunc) TaskPool[Key]
type TaskPoolBuilder ¶ added in v0.3.8
type TaskPoolBuilder[Key Hash] interface { Builder(bufSize, minSize, maxSize int32, rf RecoverFunc) TaskPool[Key] }
Click to show internal directories.
Click to hide internal directories.