Grand Central Dispath(GCD)GCD是采用任务+队列的方式,有易用、效率高、性能好的特点//concurrent并行letqueue=DispatchQueue(label:"myQueue",qos:DispatchQoS.default,attrib... ...
同步执行sync (需要等待执行完毕)参数1 指定队列 参数2 Block , 执行的操作 dispatch_sync(globalQueue, ^{ [self banzhuanPlus]; }); 异步执行 async 无需等待 dispatch_async(globalQueue, ^{ [sel... ...
第二种队列全局队列 ,在子线程中执行 ,并且是并行 (一次可以执行多个) 参数1 ;设置队列的优先级(high ,default , low , background) 参数2: 预留参数 ,未来使用 dispatch_queue_t globalQueue = dispatch_get_global_... ...
XX . h 文件中 添加初始化方法 例如: +(Pen *)sharedPen;XX . m 文件中实现方法第一种:+ (Pen *)sharedPen{ static Pen * pen = nil; if (pen == nil) { pen = [[Pen alloc]init]; } retu... ...
GCD : Grand Central Dispatch 大中央调度 , 是苹果最推崇的多线程管理策略 , 是通过队列对多线程进行管理的 第一种队列 主调队列 , 在主线程中执行 , 并且是串行 (一次只能操作一个) dispatch_queue_t mainQueue = dispatch_get... ...
/* 延迟执行 */ dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ //要执行的方法 }); ... ...
第三种队列 自定义队列 , 在 子线程中执行 , 可以设置并行 或者串行参数1 是一个区分队列的唯一标识 , 是一个可选项 , 可写也不可写 , 如果不写 NULL ,如果写的话 , 规范的例子 :"com.example.myqueue" 参数2 : 是设置并行或串行的 ,并行 DISPATCH_QU... ...