美文网首页
Operation Queues

Operation Queues

作者: 那是什么 | 来源:发表于2018-01-15 10:15 被阅读10次

    Operation Queues

    一个Operation Queue是一个Cocoa等价的并发dispatch queue,它是通过NSOperationQueue类来实现。

    dispache queue执行任务是先进先出的,operation queue会考虑其他因素来决定任务的执行顺序。这些因素中的主要因素是给定任务依赖于其他任务的完成。你配置依赖关系当定义你的任务时,然后使用他们来创建负责的执行顺序。

    你提交给operation queue的任务必须是NSOperation类的实例。一个operation 对象是一个Objective C的对象封装了你需要执行的工作和你执行时需要的数据。因为NSOperation类本质是一个抽象类,你需要定义自己的子类来执行你的任务。然而,Foundation 框架提供了一些具体的子类你能够创建和使用来执行任务。

    Operation Object产生key-value observing KVO通知,这是一个有用的方法来监视你任务的完成情况。尽管operation queues 总是执行operations 并发的,需要时你可以使用依赖关系来确保他们串行的执行。

    重要:永远不要修改一个operation对象在它已经被添加到queue中以后。当在queue中等待时,operation可能在任何时候开始执行,所以改变它的依赖关系或者它包含的数据可能造成不利的影响。如果你希望直到operation的状态,你可以使用NSOperation类的方法来确定operation是否在运行,等待运行或者已经结束了。

    相关文章

      网友评论

          本文标题:Operation Queues

          本文链接:https://www.haomeiwen.com/subject/fksroxtx.html