+(Person *)shareManager
{
    static dispatch_once_t onceQueue;
    static Person *person=nil;
    dispatch_once(&onceQueue, ^{
        person =[[Person alloc]init];
    });
    return person;
}
dispatch_once() 有两个参数,第一个参数用于检查该代码块是否被调度的谓词,它还接收一个希望在应用的生命周期内仅被创建一次的代码块。是线程安全的。一旦第二个参数中的代码块被执行过一次,那么这个代码块就不会被再执行。
应用中如果有些任务只能被执行一次,那么可以使用dispatch_once.
 
注意:单例是类方法有+

最新文章

  1. 《bootstrap》实战---作为了解
  2. 10.11 安装pod
  3. codeforces 713C C. Sonya and Problem Wihtout a Legend(dp)
  4. 锁之“轻量级锁”原理详解(Lightweight Locking)
  5. delphi 14 内容编辑
  6. iOS崩溃报告获取一
  7. asp.net mvc jqgrid 同一个页面查询不同的表,jqgrid显示不同表的表头和数据并且分页
  8. Kernel-Scheduler implementation
  9. UIGI 一级二级三级四级啦啦啦等列表层式排列效果
  10. 无论url请求什么.都可以拼接class类名.实例化.传递get参数-->给当前控制器-->传递给抽象父类-->都交给抽象父类.这个方法去处理call_user_func_array()
  11. PHP数组的基本操作及遍历数组的经典操作
  12. Spring MVC 配置文件dispatcher-servlet.xml 文件详解(转自 学无止境-yj)
  13. 给JS包写TypeScript用的类型申明文件
  14. VS2015自定义工具栏,往工具栏上添加按钮
  15. socket的相关知识理解
  16. C++ new运算符
  17. metasploit framework(一):基本使用
  18. JedisConnectionPool scala
  19. C语言sscanf用法解析与正则表达式支持
  20. reload基础

热门文章

  1. C# 使用Queue<T>代替递归算法遍历树
  2. java解决共享资源竞争
  3. SignalR简介
  4. WPF实现窗体中的悬浮按钮
  5. 23_pikle/shevel/json
  6. spring cloud学习(一) 服务注册
  7. datatable插件使用小记
  8. Vue过渡动画—Vue学习笔记
  9. switch...case... 语句中的类型转换
  10. css 图片文字居中