【发布时间】:2018-08-04 17:38:22
【问题描述】:
我开始在我的 Go 项目中使用 RWMutex 和 map,因为现在我有多个例程同时运行,并且在为此进行所有更改时,我想到了一个疑问。
问题是我知道我们必须在仅读取时使用RLock 以允许其他例程执行相同的任务,而在写入全块地图时使用Lock。但是在地图中编辑之前创建的元素时我们应该怎么做呢?
例如...假设我有一个map[int]string,我在其中做Lock,放入"hello ",然后放入Unlock。如果我想添加"world" 怎么办?我应该Lock 还是RLock 可以?
【问题讨论】:
-
有两种操作,读和写。编辑值是写操作,而不是读操作。
标签: dictionary go mutex