singleflight

package
v0.0.0-...-379d7ff Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2021 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Group

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

Group 是 singleflight 的主数据结构,管理不同 key 的请求(call)

func (*Group) Do

func (g *Group) Do(key string, fn func() (interface{}, error)) (interface{}, error)

Do:执行并返回给定函数的结果,确保一次仅对给定键进行一次执行。 如果出现重复请求尽量,则重复的 caller 将等待原始请求完成并收到相同的结果。 并发协程之间不需要消息传递,非常适合 sync.WaitGroup。

wg.Add(1) 计数加1。
wg.Wait() 阻塞,直到资源被释放。
wg.Done() 计数减1

Jump to

Keyboard shortcuts

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