参考文章:
GCD 深入理解(一)
http://www.cocoachina.com/industry/20140428/8248.htmlGCD 深入理解(二)
http://www.cocoachina.com/industry/20140515/8433.html//队列的创建
//系统主队列(串行)
dispatch_queue_t sys_main_queus =dispatch_get_main_queue();
//自定义串行队列
dispatch_queue_t my_serial_queus1 =dispatch_queue_create("com.etong.xt",0);
dispatch_queue_t my_serial_queus2 =dispatch_queue_create("com.etong.xt.seria",NULL);
//系统全局并行队列 low high default background (4种)
dispatch_queue_t sys_global_queus =dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0);
//自定义并行对列
dispatch_queue_t my_concurrent_queus =dispatch_queue_create("com.etong.xt",DISPATCH_QUEUE_CONCURRENT);
// const char *string = @"text string";
//自己创建的队列要负责内存管理
//任务执行
//同步执行任务
dispatch_sync(sys_main_queus, ^{
});
/**
* 同步执行任务使用注意
* 1、串行队列小心使用,容易出现死锁
* 2、一般用在并发队列中
*/
//异步执行任务
dispatch_async(sys_main_queus, ^{
});
//延迟执行任务
dispatch_time_t delayTime =dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0*NSEC_PER_SEC));
dispatch_after(delayTime, sys_main_queus, ^{
});
//单例
dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
});