多线程之pthread, NSThread, NSOperation, GCD

Posted step by step,go along

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程之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的主要内容,如果未能解决你的问题,请参考以下文章

IOS 多线程02-pthread NSThread GCD NSOperationQueueNSRunLoop

网络多线程(pthread , NSThread,GCD ,NSOperation)

iOS学习——多线程开发(NSThread)

ios30---pthread, NSThread, GCD, NSOperation

iOS详解多线程(实现篇——pThread)

iOS多线程之GCD小记