Go语言之 sync.Once

`sync.Once` 是 `sync` 包下的一个组件,它保证某些操作只会被执行一次,无论有多少个 goroutine 调用它。常见的使用场景包括初始化操作,确保某段代码(如初始化函数)只执行一次。关键思想:通过原子操作和内存屏障的配合,确保在多线程环境下某些操作只会执行一次。 基本使用`sync.Once` 使用起来非常简单,只需要调用 `Do` 方法,传入一个无参无返回值
阅读全文