首页 > 代码库 > 多线程之pthread, NSThread, NSOperation, GCD

多线程之pthread, NSThread, NSOperation, GCD

关于多线程会有一系列如下:
多线程之概念解析 

多线程之pthread, NSThread, NSOperation, GCD

多线程之NSThread

多线程之NSOperation

多线程之GCD



pthread
:跨平台,适用于多种操作系统,可移植性强,是一套纯C语言的通用API,且线程的生命周期需要程序员自己管理,使用难度较大,所以在实际开发中通常不使用。

NThread:是苹果对pthread的一个封装。通过封装可以在Cocoa环境中,可以更简易地用多线程。线程的生命周期由程序员管理。每个NSThread对象对应一个线程,真正最原始的线程。

1)优点:NSThread 轻量级最低,相对简单。

2)缺点:手动管理所有的线程活动,如生命周期、线程同步、睡眠等

NSOperation:基于OC语言API,底层是GCD,增加了一些更加简单易用的功能,使用更加面向对象。线程的生命周期由系统自动管理。

1)优点:自带线程周期管理,操作上可更注重自己逻辑。

2)缺点:面向对象的抽象类,只能实现它或者使用它定义好的两个子类:NSInvocationOperation 和 NSBlockOperation

GCD:ios4.0以后才出现的,基于C语言的API,充分利用设备的多核,旨在替换NSThread等线程技术。线程的生命周期由系统自动管理。
1)优点:最高效,避开并发陷阱。
2)缺点:基于C实现。


多线程之pthread, NSThread, NSOperation, GCD