哪些任务更适合使用NSOperation,而不是GCD在为iPhone编程时使用?
对我来说,他们似乎做同样的事情.我看不出一方面的优势和劣势.
当你使用线程时,你有任何偏好吗?一般来说,要使用以下任何一种技术:
NSOperationQueue是否简化了所有内容,因此在我们需要创建异步函数时更好用?
iphone objective-c nsthread nsoperationqueue grand-central-dispatch
我有一个应用程序,我从网络下载了一些资源,并对每个资源进行了一些处理.我不希望这个工作发生在主线程上,但是它非常轻量级且低优先级,因此所有这些都可以在同一个共享工作线程上发生.这似乎是一件好事,因为建立和拆除所有这些工作线程所需的工作(其中没有一个会长寿,等等).
但令人惊讶的是,似乎没有一种简单的方法可以在单个共享线程上完成所有这些工作,而不是为每个任务生成一个新线程.由于多年来似乎已经出现了大量实现并发的途径,这一点变得复杂.(明确NSThreads,NSOperationQueueGCD等)
我是否高估了产生所有这些线程所涉及的开销?我是不是应该不流汗,并使用更简单的每线程任务方法?使用GCD,并假设它比线程(重新)使用更聪明?
multithreading nsurlconnection nsoperationqueue grand-central-dispatch ios