学习Go语言之单例模式
2024-08-31 13:52:41
单例模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象
// 单例模式
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()
}
最新文章
- kettle中参数和变量的区别
- Spring.NET的AOP怎么玩
- 使用laravel一分钟搭建CURD后台页面
- Java里面的转义字符
- IIS6.0部署asp.net网站步骤图解
- boost::share_ptr用法
- poj - 1170 - Shopping Offers(减少国家dp)
- matplotlib注解-【老鱼学matplotlib】
- Axure实现多用户注册验证
- 最大子序和的golang实现
- SAP笔记---非-现存任务/请求XXX上的请求锁定
- 解析3D标签云,其实很简单
- Centos6.8安装redis(一)
- WPF技术实现控件截图
- linux下转换windows文件格式为unix sed -i &#39;s/\r//&#39; <;filename>; 转化为unix格式
- (面试题)有关Integer
- Delphi7 中使用FastMM 转载
- linux limits.conf 配置
- Dual-voltage regulator meets USB-power needs
- 1.8 js基础(常用方法小结)
热门文章
- 137.CPP自带异常
- Eclipse里Tomcat报错:Document base ……does not exist or is not a readable directory(图文详解)
- 模仿百度首页“元宵节汤圆”动图,并实现360&#176;不停旋转(CSS3的animation动画效果)
- 让placeholder中的默认文字居中,或者缩进多少像素
- hiho1469 - 简单dp
- Python 曲线拟合
- 查看Linux 服务器是 32位还是64位的
- 深入了解JWT以及JWT的执行机制
- [NOIP补坑计划]NOIP2012 题解&;做题心得
- hibernate N+1