Go 并发控制:Singleflight、sync.Once 与 init() 对比
本文对比 Go 中 singleflight、sync.Once 和 init() 三种并发控制机制:singleflight 用于高并发下防缓存击穿(同 key 仅执行一次);sync.Once 保证函数终生只执行一次,适合懒加载;init() 在包导入时自动执行,用于包级初始化。
本文对比 Go 中 singleflight、sync.Once 和 init() 三种并发控制机制:singleflight 用于高并发下防缓存击穿(同 key 仅执行一次);sync.Once 保证函数终生只执行一次,适合懒加载;init() 在包导入时自动执行,用于包级初始化。