有一个 parm 读得更多,写得更少,而且我不想使用互斥锁。我通过unsafeand完成了这样的操作atomic:
type tmp struct {
}
var value unsafe.Pointer
func GetValue() *tmp {
return (*tmp)(atomic.LoadPointer(&value))
}
func SetValue(p *tmp) {
atomic.StorePointer(&value, unsafe.Pointer(p))
}
这是线程安全的吗?和 atomic.StorePointer happen beforeatomic.LoadPointer ?
慕田峪4524236
相关分类