serial 串行 针对队列一个接着一个的去完成 (主队列即串行队列) concurrent并发 针对队列同时去完成(全局队列 ) synchronous同步 针对函数一个接着一个完成 asynchronous异步 针对函数同事进行 GCD中有三种队列类型 1,主队列 2,全局队列 3自定义队列 创建自定义队列 dispatch_after 延时 dispatch_apply 重复 dispatch_group, dispatch_group_wait, dispatch_group_notify 调度组(队列并发 异步加载) dispatch_suspend/dispatch_resume暂停和恢复 NSOperation NSOperationQueue NSOperation 封装了需要执行的操作 NSOperation是抽象基类 1,使用系统提供的子类 自定义子类继承 NSOperationQueue是操作队列,专门用来调度和管理NSOperation 是任务并发 方法异步 start(同步) cancel completionBlock(监听操作完成后的一个事件监听)addExecutionBlock 追加另外一个任务是(任务并发) 异步加载 自定义NSOperation疑问????????????? //////////////////////// NSOperation依赖关系addDependency(removeDependency) 修改NSOperation的执行顺序queuePriority 只是增加优先执行的一个权重 队列的最大并发操作数maxConcurrentOperationCount(队列同步操作的数量) 取消cancel 等待waitUntifinished暂停和dispatch_group_wait类似 。 继续suspended要先于添加的队列之前才能够执行 ////////////////////NSTread NSThread 操作的就是线程 ,不是封装好的队列和操作有时要长时间一直使用子线程时 sleepForTimeInterval(等待的时间)和sleep差不多 ,sleepUntilDate直接给定一个在那 个时间给停顿 detachNewThreadSelector 操作子线程的方法 currentThread 判断当前线程是哪个 main start cancel |
|