我的结构count
属性需要线程安全访问。
我知道可以使用sync.Mutex
或sync.RWMutex
来完成。但我不确定它是这样的:
type Status struct {
count uint32
attr1 string
attr2 string
}
func (s *Status) Get() uint32 {
return atomic.LoadUint32(&s.count)
}
func (s *Status) Add(n uint32) {
atomic.AddUint32(&s.count, n)
}
func (s *Status) Reset(n uint32) {
atomic.StoreUint32(&s.count, n)
}
谢谢。
修改
我直接认为访问字段s.count
不安全。但是atomic.LoadUint32(&s.count)
是安全的吗?