github.com/nyan233/littlerpc@v0.4.6-0.20230316182519-0c8d5c48abaf/internal/pool/doc.go (about) 1 // Package pool littlerpc自带的goroutine池 2 package pool 3 4 type Hash interface { 5 string | []byte | int64 | uint64 6 } 7 8 type TaskPool[Key Hash] interface { 9 Push(Key, func()) error 10 Stop() error 11 // LiveSize 存活的goroutine数量 12 LiveSize() int 13 // BufSize 缓冲区中存在的任务数量 14 BufSize() int 15 // ExecuteSuccess 任务池执行成功的任务数量 16 ExecuteSuccess() int 17 // ExecuteError 任务池执行失败的任务数量 18 ExecuteError() int 19 } 20 21 type TaskPoolBuilder[Key Hash] interface { 22 Builder(bufSize, minSize, maxSize int32, rf RecoverFunc) TaskPool[Key] 23 }