单例模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象

 // 单例模式
package main import (
"fmt"
"sync"
) type manager struct{} // var iMutex *sync.Mutex = &sync.Mutex{}
var once sync.Once var m *manager func Instance() *manager {
// if m == nil {
// iMutex.Lock()
// defer iMutex.Unlock()
// if m == nil {
// m = new(manager)
// }
// } //sync.Once,它有一个Do方法,在它中的函数go会只保证仅仅调用一次。所以可以不使用双重排它锁
once.Do(func() {
m = &manager{}
}) return m
} func (p manager) Manage() {
fmt.Println("manage...")
} func main() {
Instance().Manage()
}

最新文章

  1. kettle中参数和变量的区别
  2. Spring.NET的AOP怎么玩
  3. 使用laravel一分钟搭建CURD后台页面
  4. Java里面的转义字符
  5. IIS6.0部署asp.net网站步骤图解
  6. boost::share_ptr用法
  7. poj - 1170 - Shopping Offers(减少国家dp)
  8. matplotlib注解-【老鱼学matplotlib】
  9. Axure实现多用户注册验证
  10. 最大子序和的golang实现
  11. SAP笔记---非-现存任务/请求XXX上的请求锁定
  12. 解析3D标签云,其实很简单
  13. Centos6.8安装redis(一)
  14. WPF技术实现控件截图
  15. linux下转换windows文件格式为unix sed -i 's/\r//' <filename> 转化为unix格式
  16. (面试题)有关Integer
  17. Delphi7 中使用FastMM 转载
  18. linux limits.conf 配置
  19. Dual-voltage regulator meets USB-power needs
  20. 1.8 js基础(常用方法小结)

热门文章

  1. 137.CPP自带异常
  2. Eclipse里Tomcat报错:Document base ……does not exist or is not a readable directory(图文详解)
  3. 模仿百度首页“元宵节汤圆”动图,并实现360°不停旋转(CSS3的animation动画效果)
  4. 让placeholder中的默认文字居中,或者缩进多少像素
  5. hiho1469 - 简单dp
  6. Python 曲线拟合
  7. 查看Linux 服务器是 32位还是64位的
  8. 深入了解JWT以及JWT的执行机制
  9. [NOIP补坑计划]NOIP2012 题解&做题心得
  10. hibernate N+1