pool

package
v0.4.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 21, 2022 License: MIT Imports: 9 Imported by: 0

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]) BufSize added in v0.4.0

func (h *FixedPool[Key]) BufSize() int

func (*FixedPool[Key]) ExecuteError added in v0.4.0

func (h *FixedPool[Key]) ExecuteError() int

func (*FixedPool[Key]) ExecuteSuccess added in v0.4.0

func (h *FixedPool[Key]) ExecuteSuccess() int

func (*FixedPool[Key]) LiveSize added in v0.4.0

func (h *FixedPool[Key]) LiveSize() int

func (*FixedPool[Key]) Push added in v0.4.0

func (h *FixedPool[Key]) Push(key Key, f func()) error

func (*FixedPool[Key]) Stop added in v0.4.0

func (h *FixedPool[Key]) Stop() error

type Hash added in v0.4.0

type Hash interface {
	string | []byte | int64 | uint64
}

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]
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL