GCD,NSOperationQueue,还是手动创建一个线程?

Pau*_*aul 9 iphone objective-c nsthread nsoperationqueue grand-central-dispatch

当你使用线程时,你有任何偏好吗?一般来说,要使用以下任何一种技术:

  • 手动创建一个新线程并使用运行循环
  • 使用NSOperationQueue
  • 或使用Grand Central Dispatch和带有dispatch_queue的C版本?

NSOperationQueue是否简化了所有内容,因此在我们需要创建异步函数时更好用?

Ste*_*ton 10

我很懒,所以我的理念是选择最简单的解决方案来完成我需要的一切.(我喜欢认为这是Larry Wall所支持的"懒惰",但有时候我会这么想.)

所以我的偏好顺序是:

  1. 异步方法调用
  2. NSOperationQueue
  3. Grand Central Dispatch
  4. 线

每一步都会增加复杂性和灵活性.如果您需要额外的灵活性,那么复杂性可能是值得的.