大家都知道,多线程提(多核心)高了计算机的处理速度。我对这一块有浅浅的认识,跟大家分享:
首先 大家要注意 1 、线程的使用不是无节制的 2、只有主线程有直接修改UI的能力。
IOS的三种多线程技术:
一 、NSThread 是每个NSThread对象对应一个线程,轻量级的。是对pthread(其是POSIX线程的API,是C语言的技术,当 然它可以直接操作线程)的抽象。
二、 GCD(Grand Central Dispatch)是基于C语言的框架,使用队列来管理线程,它可以充分利用多核。
三、NSOperation/NSOperationQueue是面向对象的线程技术,是对GCD的抽象,容易理解和使用。
三种线程的对比
NSThread 、 优点:使用特别简单。
缺点:需要自己来管理线程的生命周期、线程同步、加锁、睡眠和唤醒。过程不可避免的有一定的系统“开销”;
NSOperation、优点:不用关心线程的管理和数据的同步,把精力放在自己需要执行的任务或操作上就行了
而且它是面向对象的;
GCD、 优点:Grand Central Dispatch是由苹果公司开发的一个多核编程解决方案。IOS4.0以后才能使用,是代替上面两个技 术的高效而且强大的技术。它基于block的特性导致它能极为简单的在不同代码作用域之间传递上下文。效率高。性能: GCD自动根据系统负载来增减线程数量,这就减少了上下文的切换和提高了计算效率。安全 无需加锁或其他同步机制。(看起来就很高大上嘛。)