go-extend: github.com/thinkeridea/go-extend/pool Index | Files

package pool

import "github.com/thinkeridea/go-extend/pool"

Package pool 创建一些常用的 pool, 底层依托 sync.pool

在项目开发中会大量使用 sync.Pool, 有很多 pool 是可以共享的,最常见的就是 bytes.Buffer。 大量的开源库中在使用 bytes.Buffer 的 sync.Pool, 每个项目单独维护自己的 sync.Pool, 使得很多资源没有被合理的利用, 造成大量的浪费,这个包收集常见的 sync.Pool 实例,使其可以在不同项目和包中可以共享。

Index

Package Files

buffer.go doc.go

type BufferPool Uses

type BufferPool interface {

    // Get 从 Pool 中获取一个 *bytes.Buffer 实例, 该实例已经被 Reset
    Get() *bytes.Buffer
    // Put 把 *bytes.Buffer 放回 Pool 中
    Put(*bytes.Buffer)
}

BufferPool bytes.Buffer 的 sync.Pool 接口 可以直接 Get *bytes.Buffer 并 Reset Buffer

func GetBuff1024 Uses

func GetBuff1024() BufferPool

GetBuff1024 获取一个初始容量为 1024 的 *bytes.Buffer Pool

func GetBuff128 Uses

func GetBuff128() BufferPool

GetBuff128 获取一个初始容量为 128 的 *bytes.Buffer Pool

func GetBuff2048 Uses

func GetBuff2048() BufferPool

GetBuff2048 获取一个初始容量为 2048 的 *bytes.Buffer Pool

func GetBuff4096 Uses

func GetBuff4096() BufferPool

GetBuff4096 获取一个初始容量为 4096 的 *bytes.Buffer Pool

func GetBuff512 Uses

func GetBuff512() BufferPool

GetBuff512 获取一个初始容量为 512 的 *bytes.Buffer Pool

func GetBuff64 Uses

func GetBuff64() BufferPool

GetBuff64 获取一个初始容量为 64 的 *bytes.Buffer Pool

func GetBuff8192 Uses

func GetBuff8192() BufferPool

GetBuff8192 获取一个初始容量为 8192 的 *bytes.Buffer Pool

Package pool imports 2 packages (graph) and is imported by 1 packages. Updated 2019-11-04. Refresh now. Tools for package owners.