【发布时间】:2015-08-12 10:51:18
【问题描述】:
我在一个对象中定义了一个变量(r.something)
func (r *Runner) init() {
r.something = make(map[string]int)
r.something["a"]=1
go r.goroutine()
}
而 r.goroutine 使用存储在 r.something 中的值而没有同步。 除了 r.goroutine() 没有其他人会读/写这个值
不同步是否安全?
换句话说:我想重用一个在其他地方初始化的goroutine中的一些变量在 goroutine开始之前。那安全吗?
补充问题: 在 r.goroutine() 完成后,我希望能够从其他地方使用 r.something(没有与其他 goroutine 的读/写重叠)。也安全吗?
【问题讨论】: