设计模式之单例(GCD)
2024-08-26 16:38:33
+(Person *)shareManager { static dispatch_once_t onceQueue; static Person *person=nil; dispatch_once(&onceQueue, ^{ person =[[Person alloc]init]; }); return person; }
dispatch_once() 有两个参数,第一个参数用于检查该代码块是否被调度的谓词,它还接收一个希望在应用的生命周期内仅被创建一次的代码块。是线程安全的。一旦第二个参数中的代码块被执行过一次,那么这个代码块就不会被再执行。
应用中如果有些任务只能被执行一次,那么可以使用dispatch_once.
注意:单例是类方法有+
最新文章
- 《bootstrap》实战---作为了解
- 10.11 安装pod
- codeforces 713C C. Sonya and Problem Wihtout a Legend(dp)
- 锁之“轻量级锁”原理详解(Lightweight Locking)
- delphi 14 内容编辑
- iOS崩溃报告获取一
- asp.net mvc jqgrid 同一个页面查询不同的表,jqgrid显示不同表的表头和数据并且分页
- Kernel-Scheduler implementation
- UIGI 一级二级三级四级啦啦啦等列表层式排列效果
- 无论url请求什么.都可以拼接class类名.实例化.传递get参数-->;给当前控制器-->;传递给抽象父类-->;都交给抽象父类.这个方法去处理call_user_func_array()
- PHP数组的基本操作及遍历数组的经典操作
- Spring MVC 配置文件dispatcher-servlet.xml 文件详解(转自 学无止境-yj)
- 给JS包写TypeScript用的类型申明文件
- VS2015自定义工具栏,往工具栏上添加按钮
- socket的相关知识理解
- C++ new运算符
- metasploit framework(一):基本使用
- JedisConnectionPool scala
- C语言sscanf用法解析与正则表达式支持
- reload基础