多线程之NSOperation(下)

我们继续多线程方面的NSOperation的深入研究:
定制NSOperation对象的执行行为

  1. 配置依赖关系: 主要方法: addDependency: (NSOperation )op 和 removeDependency: (NSOperation )op
  2. 修改Operation在队列中的优先级 最简单的方法是: setQueuePriority : 方法来提高优先级
  3. 修改Operation执行任务线程的优先级 最简单的方法是 : setThreadPriority
  4. 设置Completion Block 可以在该block中只用GCD 来保证从主线程更新UI
  5. 执行Operation对象 : 两种方式 有些细节需要注意 如设置最大并发Operation数量时等等
  6. 取消Operation 最简单的方法是: NSOperationQueue的cancelAllOperation NSOperation的cancel
  7. 等待Operation执行完成 方法是: waitUtilFInished 和waitUntilAllOperationAreFinished 方法
  8. 暂停和恢复 Operation Queue 最简单地方法是 operationQueue的 setSuspended方法, 然而这个方法并不能单独暂停执行一个operation方法

    总结: 我们应该尽可能地直接使用队列而不是线程,让系统去与线程打交道,而我们只需定义好要调度的任务就可以了。一般情况下,我们也完全不需要去自定义一个并发的 operation ,因为在与 operation queue 结合使用时,operation queue 会自动为非并发的 operation 创建一个线程。Operation Queues 是对 GCD 面向对象的封装,它可以高度定制化,对依赖关系、队列优先级和线程优先级等提供了很好的支持,是我们实现复杂任务调度时的不二之选。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值