不用锁,只用sync/atomic包能实现下面代码吗?
``` go
const Max 8
var index int
func add() int {
index++
if index >= Max {
index = 0
}
return index
}
```
比如:
``` go
func add() int {
atomic.AddUint32(&index, 1)
// 这里又有窗口期了
atomic.CompareAndSwapUint32(&index, Max, 0)
return index
}
```
是不是只能使用Lock了?
有疑问加站长微信联系(非本文作者)