obuffer

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2021 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Unbounded

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

Unbounded @Description: Unbounded是一个不使用额外goroutine的无界缓冲区的实现。 这通常用于在gRPC中将更新从一个实体传递到另一个实体。 该类型上的所有方法都是线程安全的,除了用于同步的底层互斥锁外,不会阻塞任何东西。 Unbounded支持使用' interface{} '通道存储任何类型的值。 这意味着对Put()的调用会导致额外的内存分配,而且用户在读取时还需要进行类型断言。 对于性能关键的代码路径,强烈反对使用Unbounded,最好定义该缓冲区的新类型特定实现。 例子:internal/transport/transport.go。

func NewUnbounded

func NewUnbounded() *Unbounded

NewUnbounded @Description: 返回一个Unbounded类型实体 @return *Unbounded

func (*Unbounded) Get

func (b *Unbounded) Get() <-chan interface{}

func (*Unbounded) Load

func (b *Unbounded) Load()

Load @Description: @receiver b

func (*Unbounded) Put

func (b *Unbounded) Put(t interface{})

Put @Description: 添加t到unbounded缓冲区 @receiver b @param t

Jump to

Keyboard shortcuts

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