2. NSOperation:
如果需要让线程同时并行运行多个,可以将线程加入队列中,NSOperationQueue类就是一个线程队列管理类,
他提供了并行,队列的管理.可以认为NSOperationQueue就是个线程管理器,通过addOperations方法,我们可以一次性
把多个(数组形式)线程添加到队列中.同时,NSOperationQueue允许通过setMaxConcurrentOperationCount方法设置队列的
并行运行数量
NSThread | 苹果公司的Cocoa框架共支持三种多线程机制,分别为NSThread、GCD(Grand Central Dispatch)、Cocoa NSOperatio。NSThree是官方推荐的线程处理方式,它在处理机制上,需要开发者负责手动管理Thread的生命周期,包括子线程与主线程之间的同步等。线程共享同一应用程序的部分内存空间,它们拥有对数据相同的访问权限。你得协调多个线程 对同一数据的访问,一般做法是在访问之前加锁,这会导致一定的性能开销。在 iOS 中我们可以使用多种形式的 thread。 比其他两个轻量级 需要自己管理线程的生命周期,线程同步。 线程同步对数据的加锁会有一定的系统开销 |
GCD | Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。该方法在Mac OS X 10.6雪豹中首次推出,并随后被引入到了iOS4.0中。GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOperation等技术的很高效和强大的技术,它看起来象就其它语言的闭包(Closure)一样,但苹果把它叫做blocks。 |