GCD (Grand Central Dispatch)
是Apple公司开发的一种技术,它旨在优化多核环境中的并发操作并取代传统多线程的编程模式。在Mac OS X 10.6和IOS
4.0之后开始支持GCD。使用GCD的一个理由就是方便。回想一下以前的多线程编程,我们会把异步调用的代码放到另外的...
分类:
其他好文 时间:
2014-05-09 11:05:26
阅读次数:
301
在IOS中,所有对象的内存分配的方法都会调用allocWithZone,比如构造函数alloc,所以重写这个方法就可以实现单例。
Xcode中预先写好了实现代码的快捷指令,敲dispatch_once就会看到。这个是有GCD实现的单例代码。实现代码如下:+(id)allocWithZone:(...
分类:
移动开发 时间:
2014-05-05 22:09:11
阅读次数:
392
GCD的任务1> disptach_sync 没有创建线程的欲望,就在当前线程执行
最主要的目的,阻塞并行队列任务的执行,只有当前的同步任务执行完毕后,后续的任务才能够执行 应用场景:用户登录!2> dispatch_async
有创建线程的欲望,但是创建多少条线程,取决与队列的类型GCD的队列1>...
分类:
其他好文 时间:
2014-05-01 20:50:56
阅读次数:
434
dispatch_once的实现分析
dispatch_once可以保证代码被执行一次
+(NSDateFormatter*)getDBDateFormat
{
static NSDateFormatter* format;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
format = [[LKDateFormatter alloc]init];
format.dateF...
分类:
其他好文 时间:
2014-04-30 22:12:40
阅读次数:
336
定义了一个elevator_noop的调度器类型:
static struct elevator_type elevator_noop = {
.ops = {
.elevator_merge_req_fn = noop_merged_requests,//查询一个request,用于将bio并入
.elevator_dispatch_fn = noop_dispatch,/...
分类:
系统相关 时间:
2014-04-29 13:33:20
阅读次数:
830
+ (instantClass *)sharedClient {static instantClass
*_sharedClient = nil;static dispatch_once_t
onceToken;dispatch_once(&onceToken, ^{_sharedClient = ...
分类:
移动开发 时间:
2014-04-29 10:27:47
阅读次数:
419
+ (SCLocationController *)sharedController{ static
SCLocationController *sharedController = nil; static dispatch_once_t onceToken;
dispatc...
分类:
移动开发 时间:
2014-04-29 10:12:46
阅读次数:
534
在双1的情况下,两阶段提交的过程环境准备:mysql 5.5.18, innodb 1.1
version配置: sync_binlog=1 innodb_flush_log_at_trx_commit=1
autocommit=0设置断点: sql_parse.cc::dispatch...
分类:
数据库 时间:
2014-04-28 06:47:26
阅读次数:
1134