Skip to content

GCD 与 NSOperationQueue 有哪些异同? #97

@tbfungeek

Description

@tbfungeek
  • GCD 是基于C语言实现的,NSOperationQueue是基于GCD C语言的面向对象封装。
  • GCD 只支持 FIFO 队列,NSOperationQueue 可以方便设置操作优先级,设置最大的并发数量。任务依赖等操作。
  • NSOperationQueue 支持 KVO,可以检测 操作是否正在执行(isExecuted),是否结束(isFinished),是否取消(isCanceled)
  • GCD执行效率高于NSOperationQueue
  • GCD 适用于场景简单任务之间不太相互依赖的情况下,而NSOperationQueue适用于任务之间有依赖或要监听任务的执行情况,任务有优先顺序的情况。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions