美文网首页
常用的多线程优缺点

常用的多线程优缺点

作者: 巴糖 | 来源:发表于2016-04-19 10:06 被阅读919次

iOS有四种多线程编程的技术,分别是:NSThread,Cocoa NSOperation,GCD(全称:Grand Central Dispatch),pthread。

四种方式的优缺点介绍:

1)NSThread

优点:NSThread 比其他两个轻量级。

缺点:需要自己管理线程的生命周期,线程同步。

线程同步对数据的加锁会有一定的系统开销。

2)Cocoa NSOperation

优点:不需要关心线程管理, 数据同步的事情,可以把精力放在自己需要执行的操作上。

Cocoa operation相关的类是NSOperation, NSOperationQueue.NSOperation是个抽象类,使用它必须用它的子类,可以实现它或者使用它定义好的两个子类: NSInvocationOperation和NSBlockOperation.创建NSOperation子类的对象,把对象添加到NSOperationQueue队列里执行。

3)GCD

(全优点)Grand Central dispatch(GCD)是Apple开发的一个多核编程的解决方案。

在iOS4.0开始之后才能使用。

GCD是一个替代NSThread, NSOperationQueue,NSInvocationOperation等技术的很高效强大的技术。

4) pthread

是一套通用的多线程API,适用于Linux\Windows\Unix,跨平台,可移植,使用C语言,生命周期需要程序员管理,IOS开发中使用很少。


GCD线程死锁

GCD 确实好用 ,很强大,相比NSOpretion 无法提供 取消任务的功能。

如此强大的工具用不好可能会出现线程死锁。

GCD Queue 分为三种:

1,The main queue :主队列,主线程就是在个队列中。

2,Global queues : 全局并发队列。

3,用户队列:是用函数 dispatch_queue_create创建的自定义队列

dispatch_sync 和 dispatch_async 区别:

dispatch_async(queue,block) async 异步队列,dispatch_async函数会立即返回, block会在后台异步执行。

dispatch_sync(queue,block) sync 同步队列,dispatch_sync函数不会立即返回,及阻塞当前线程,等待 block同步执行完成。

五个案例让你明白GCD死锁

http://ios.jobbole.com/82622/

相关文章

  • 常用的多线程优缺点

    iOS有四种多线程编程的技术,分别是:NSThread,Cocoa NSOperation,GCD(全称:Gran...

  • 多线程介绍

    一、进程与线程 进程介绍 线程介绍 线程的串行 二、多线程 多线程介绍 多线程原理 多线程的优缺点 多线程优点: ...

  • 线程与进程

    进程 线程 线程的串行 多线程 多线程的原理 多线程的优缺点 - 多线程的优点 - 能适当提高程序的执行效率- 能...

  • 阿里大牛都在读的图解Java多线程设计模式,进阶架构师必备PDF

    本书整理了12种常用的多线程设计模式,“图、文、码”并茂地讲解了它们各自的优缺点、相互的关联以及适用场景。不过这并...

  • 在iOS开发中,需要用到的多线程技术

    1、多线程的概念 2、多线程的执行原理 3、多线程的优缺点 4、什么是主线程? 5、iOS中有哪些多线程的技术方案...

  • 多线程

    1、你理解的多线程(什么是多线程、多线程的原理、多线程的优缺点)? 首先多线程就是在一个进程里面开启了多条线程同时...

  • 5月份第一周学习安排

    学习内容: java多线程及线程同步的方法(使用) java多线程各种同步方法的原理和优缺点 java多线程设计模...

  • iOS 多线程- pThread和NSThread

    本文内容:多线程的优缺点多线程实现技术方案如何使用pThread实现多线程如何使用NSthread执行任务、设置优...

  • iOS多线程技术方案

    目录 一、多线程简介 1、多线程的由来2、耗时操作的模拟试验3、进程和线程4、多线程的概念及原理5、多线程的优缺点...

  • iOS 多线程简介

    一.本文介绍点 1.为什么要学习多线程2.什么是多线程3.多线程的原理4.多线程的优缺点5.多线程的应用6.多线程...

网友评论

      本文标题:常用的多线程优缺点

      本文链接:https://www.haomeiwen.com/subject/pcnalttx.html