go 单例模式
go 单例模式
//单例模式
//确保并发的情况下,让某段代码只会被执行一次
var (
name *gzhsinit1
//调用并发只执行一次的模块 sync,这个once应该是一一对应的,多个单例模式的时候不能共用一个once,否则会阻塞影响
once sync.Once
)
//这里返回值是 指针,可以加速代码速度。
func dlmsinit1() *gzhsinit1{
//当用到sync模块的Do函数,并发的时候小括号内部的代码只运行一次
once.Do(func() {
if name == nil {
name = gzhsinit3()
}
})
return name
}
本文来自博客园,作者:liwenchao1995,转载请注明原文链接:https://www.cnblogs.com/liwenchao1995/p/16324243.html

浙公网安备 33010602011771号