gf: github.com/johng-cn/gf/g/os/grpool Index | Files

package grpool

import "github.com/johng-cn/gf/g/os/grpool"

Package grpool implements a goroutine reusable pool.

Goroutine池, 用于goroutine复用,提升异步操作执行效率(避免goroutine限制,并节约内存开销). 需要注意的是,grpool提供给的公共池不提供关闭方法,自创建的池可以手动关闭掉。

Index

Package Files

grpool.go

func Add Uses

func Add(f func()) error

添加异步任务(使用默认的池对象)

func Jobs Uses

func Jobs() int

查询当前等待处理的任务总数

func Size Uses

func Size() int

查询当前goroutine总数

type Pool Uses

type Pool struct {
    // contains filtered or unexported fields
}

goroutine池对象

func New Uses

func New(size ...int) *Pool

创建goroutine池管理对象, 参数用于限制限制最大的goroutine数量/线程数/worker数量,非必需参数,默认不做限制

func (*Pool) Add Uses

func (p *Pool) Add(f func()) error

添加异步任务

func (*Pool) Close Uses

func (p *Pool) Close()

关闭池,所有的任务将会停止,此后继续添加的任务将不会被执行

func (*Pool) ForkWorker Uses

func (p *Pool) ForkWorker()

创建新的worker执行任务

func (*Pool) Jobs Uses

func (p *Pool) Jobs() int

查询当前等待处理的任务总数

func (*Pool) Size Uses

func (p *Pool) Size() int

查询当前goroutine worker总数

Package grpool imports 3 packages (graph). Updated 2019-01-16. Refresh now. Tools for package owners.