- 使用 go.uber.org/atomic
使用 go.uber.org/atomic
Go 的 sync/atomic 包仅仅提供针对原始类型(int32, int64, …)的原子操作。因此,很容易忘记使用原子操作来读写变量。
go.uber.org/atomic 通过隐藏基础类型,使这些操作类型安全。并且,它还提供一个方便的 atomic.Bool 类型。
| Bad | Good |
|---|---|
|
|
Go 的 sync/atomic 包仅仅提供针对原始类型(int32, int64, …)的原子操作。因此,很容易忘记使用原子操作来读写变量。
go.uber.org/atomic 通过隐藏基础类型,使这些操作类型安全。并且,它还提供一个方便的 atomic.Bool 类型。
| Bad | Good |
|---|---|
|
|
本页 EduBoo 构建