pool

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2021 License: MIT Imports: 4 Imported by: 1

Documentation

Overview

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

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

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BufferPool

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

func GetBuff1024() BufferPool

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

func GetBuff128

func GetBuff128() BufferPool

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

func GetBuff2048

func GetBuff2048() BufferPool

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

func GetBuff4096

func GetBuff4096() BufferPool

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

func GetBuff512

func GetBuff512() BufferPool

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

func GetBuff64

func GetBuff64() BufferPool

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

func GetBuff8192

func GetBuff8192() BufferPool

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

func NewBuffer added in v1.3.0

func NewBuffer(size int) BufferPool

NewBuffer 创建一个指定容量的 BufferPool,这将是一个独立的非共享的,每次调用都会返回新的BufferPool

Jump to

Keyboard shortcuts

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