【发布时间】:2016-04-19 17:12:27
【问题描述】:
我创建了一个对并发访问安全的映射,在每个操作(或复合操作)中,我用锁包裹了操作。
func .. {
mu.Lock()
defer mu.Unlock()
..
}
我也可以为此使用 goroutines 吗?我应该使用 goroutines 吗?
【问题讨论】:
-
如果你只需要一把锁,你打算用 goroutine 做什么?
-
锁通常是同步简单地图访问的最佳方法。
-
直接回答你的问题——是的,这将适用于 goroutines。但是你真的应该考虑你的设计,以及你的设计是否需要包含 goroutines(因为你问过你是否应该使用它们),或者你是否可以不使用它们。跨度>