代码:

package main

import (
"fmt"
"sync"
) type Singleton struct{} var singleton *Singleton
var once sync.Once func GetSingletonObj() *Singleton {
once.Do(func() {
fmt.Println("Create Obj")
singleton = new(Singleton)
})
return singleton
} func main() {
var wg sync.WaitGroup
for i := 0; i < 5; i++ {
wg.Add(1)
go func() {
obj := GetSingletonObj()
fmt.Printf("%p\n", obj)
wg.Done()
}()
}
wg.Wait()
}

输出结果:

最新文章

  1. react UI交互 简单实例
  2. Android开发笔记之《JNI常用知识汇总》
  3. java第二次作业
  4. history 清空历史记录 或 history不记录历史命令
  5. bootstrap 多个 modal 相互遮挡
  6. 迪杰斯特拉(Java)
  7. MongoDB,HDFS, Spark to 电影推荐
  8. Java IO2:字节流
  9. FireFox、chrome通过插件使用IE内核,IE Tab v2
  10. 配置mybatis流程
  11. Js字符串判断
  12. webform开发经验(一):Asp.Net获取Checkbox选中的值
  13. (译)linux系统关于命令echo的15个例子
  14. JQuery中常用方法备忘
  15. 【java设计模式】之 工厂(Factory)模式
  16. 201521123036 《Java程序设计》第1周学习总结
  17. Web API系列之三 基本功能实现
  18. 进行app性能和安全性测试的重要性
  19. js处理json js递归
  20. server被强制关闭,

热门文章

  1. sql server通过脚本进行数据库压缩全备份的方法
  2. android内存溢出 java.lang.OutOfMemoryError
  3. NOIp 2014 解方程 【数学/秦九韶算法/大数取膜】By cellur925
  4. hql语法及自定义函数(含array、map讲解) + hive的java api
  5. 在MacOs上安装sqlsrv Mojave - 找不到&#39;php.h&#39;文件
  6. python之os、sys和random模块
  7. 模拟赛01 T3 盖房子
  8. AtCoder Grand Contest 001 D - Arrays and Palindrome
  9. Graph HDU - 4467
  10. centOS 部署服务器(一)