美文网首页
只运行一次

只运行一次

作者: 不死鸟F21 | 来源:发表于2020-01-27 11:16 被阅读0次
package main

import (
    "fmt"
    "sync"
)

type Singleton struct {
}

var singleInstance *Singleton
var once sync.Once

func GetSingletionObj() *Singleton {

    once.Do(func() {
        fmt.Println("Createa Singleton")
        singleInstance = new(Singleton)
    })
    return singleInstance
}

func main() {
    var wg sync.WaitGroup
    for i := 0; i < 10; i++ {
        wg.Add(1)
        go func() {
            obj := GetSingletionObj()
            fmt.Printf("%p\n", obj)
            wg.Done()
        }()
    }
    wg.Wait()

}


// result:
Createa Singleton
0x1196ab8
0x1196ab8
0x1196ab8
0x1196ab8
0x1196ab8
0x1196ab8
0x1196ab8
0x1196ab8
0x1196ab8
0x1196ab8

相关文章

  • 只运行一次

  • 定时器

    //不重复,只调用一次。timer运行一次就会自动停止运行myTimer = [NSTimer scheduled...

  • Docker学习记录

    docker run IMAGE [command][ARG...]一次运行只运行一次服务的容器举例:docker...

  • ansible task 只运行一次

    如果您需要将任务仅委派给第一台服务器,并且无论当前清单中有多少台服务器都运行一次task

  • Kubelet 的运行

    在startKubelet 方法中开始运行创建好的kubelet。kubelet可以只运行一次,即RunOnce,...

  • setTimeout和setInterval之间有什么区别?

    区别:setTimeout只运行一次,当到了设定的事件后就触发指定的代码,运行完后即结束,而setInterval...

  • JMeter 5.0(1):基本介绍

    1 Test Plan Run Thread Groups consecutively,一次只运行一个线程 Fun...

  • 软引用和虚引用

    软引用指向的对象只在内存不足时被回收,而只被弱引用指向的对象在下一次GC时被回收 运行结果: 从运行结果可见,So...

  • 6. 两种定义state的方法

    第一种: 第二种: 注意:constructor在运行中只执行一次

  • ObjC源码分析+initialize方法

    ObjC中+initialize方法的规则: 惰性调用只调用一次执行时运行时系统处于正常状态会先运行超类的+ini...

网友评论

      本文标题:只运行一次

      本文链接:https://www.haomeiwen.com/subject/vaosthtx.html