【问题标题】:NSOperationQueue and concurrent operationNSOperationQueue 和并发操作
【发布时间】:2011-01-12 09:34:50
【问题描述】:

正如NSOperationQueue 类参考所说: 在 iOS 中,操作队列不使用Grand Central Dispatch 来执行操作。它们为非并发操作创建单独的线程,并从当前线程启动并发操作。

但我发现在 iOS 4.2.1 中,队列总是为并发或非并发操作创建线程。而且我认为队列根本不在乎并发或非并发,因为 isConcurrent 中的断点永远不会被打破。所以我认为参考是错误的......

【问题讨论】:

    标签: ios concurrency grand-central-dispatch nsoperationqueue ios-4.2


    【解决方案1】:

    如果您查看 NSOperation 的文档,您应该会看到有关 Mac 10.6(大致对应于 iOS 4.0)忽略 isConcurrent 的注释。

    基本上,创建并发 NSOperation 的唯一原因是您要手动触发它。

    【讨论】:

      【解决方案2】:

      NSOperationQueue 确实使用 GCD。来自the documentation

      在 iOS 4 及更高版本中,操作队列使用 Grand Central Dispatch 来执行操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-25
        • 1970-01-01
        相关资源
        最近更新 更多