Go 使用CompareAndSwapInt32同步.Once.Do()
Go实现了如下功能: 我试图理解这里对互斥体的需求,将它实现为这样会有什么问题Go 使用CompareAndSwapInt32同步.Once.Do(),go,Go,Go实现了如下功能: 我试图理解这里对互斥体的需求,将它实现为这样会有什么问题 func (o *Once) Do(f func()) { if atomic.CompareAndSwapUInt32(&o.done, 0, 1) { f() } } 删除互斥会中断以下操作之一: 在对f的一个调用返回之前,不返回对Do的调用 func (o *Once) Do(f func()) { if atomic.CompareAndSwapUInt32(&o.don
func (o *Once) Do(f func()) {
if atomic.CompareAndSwapUInt32(&o.done, 0, 1) {
f()
}
}
删除互斥会中断以下操作之一: 在对f的一个调用返回之前,不返回对Do的调用
func (o *Once) Do(f func()) {
if atomic.CompareAndSwapUInt32(&o.done, 0, 1) {
f()
}
}