golang的map读写都在一个函数里面完成如何加锁啊?

这段代码我看懂了
typeDemostruct{
Datamap[string]string
Locksync.RwMutex
}
func(dDemo)Get(kstring)string{
d.Lock.RLock()
deferd.Lock.RUnlock()
returnd.Data[k]
}
func(dDemo)Set(k,vstring){
d.Lock.Lock()
deferd.Lock.UnLock()
d.Data[k]=v
}
现在我的读写都在一个函数里面完成,先获取,如果存在直接取出来,如果不存在,计算后赋值,下次再取就直接取了
慕婉清6462132
浏览 1038回答 2
2回答

慕容森

写锁的等级比读锁高的.你只要先执行d.Lock.Lock()然后进行读操作和写操作最后d.Lock.UnLock()就可以了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript