singleflight
2022-04-08 13:25:54 4 举报
登录查看完整内容
为你推荐
查看更多
抱歉,暂无相关内容
golang singleflight Do方法主要流程图
作者其他创作
大纲/内容
g.m[key] ok ?
Y
结束
g.m == nil
开始
初始化g.m
c := new(call)c.wg.Add(1)g.m[key] = cg.mu.Unlock
g.mu.Lock
c.dups++g.mu.Unlockc.wg.Wait
N
type call struct { wg sync.WaitGroup dups int val interface err error chans []chan<-Result forgotten bool}type Result struct { Val interface Err error Shared bool}type Group struct { mu sync.Mutex m map[string]*call}
0 条评论
回复 删除
下一页