美文网首页
三种线程方案比较

三种线程方案比较

作者: coder_Wg | 来源:发表于2016-10-10 14:12 被阅读20次

1、NSThread

优点:NSThread比其他两个轻量级,使用简单。

缺点:需要自己管理线程的生命周期、线程同步、加锁、睡眠以及唤醒等。线程同步对数据的加锁会有一定的系统开销。

2、NSOperation

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

2.2   NSOperation是面向对象的;

2.3  很容易设置两个NSOperation对象之间的依赖来让某一个操作在上一个操作完成之后再执行;

2.4  设置同一时间内的最大任务并发数;

2.5  可以创建操作,支持第一时间被取消;

2.6 NSOperation在iOS4之前是NSThread,iOS4之前只有GCD是底层。

3、GCD

3.1 Grand Central Dispatch ,是由苹果开发的一个多核编程的解决方案。iOS4之后才能使用,是替代NSThread、NSOperation的高效和强大的技术。

3.2 GCD是基于c语言的;

3.3 NSOperation对象在创建或释放过程中会消耗明显的CUP资源;

3.4 使用Block后代码比使用NSOperation,NSThread更简洁;

3.5 dispatch_group , barrier等技术;

3.6 执行的任务没有办法直接取消。

相关文章

  • 三种线程方案比较

    1、NSThread 优点:NSThread比其他两个轻量级,使用简单。 缺点:需要自己管理线程的生命周期、线程同...

  • 多线程基础(七)

    多线程常见面试题 1. 多线程有几种实现方案,分别是哪几种? 两种(对线程池那块比较熟悉可以答三种)。继承Thre...

  • iOS开发进阶-多线程技术

    iOS中多线程 首先看一道面试题 iOS中多线程有哪些实现方案? iOS中,多线程一般有三种方案GCD、NSOpe...

  • iOS-多线程知识点整理

    iOS中多线程 首先看一道面试题 iOS中多线程有哪些实现方案? iOS中,多线程一般有三种方案GCD、NSOpe...

  • NSThread

    NSThread 实现多线程的技术方案之一. 面向对象的开发思想. 每个对象表示一条线程. 创建线程三种方式 准备...

  • iOS中的3种卡顿检测

    市面上的iOS卡顿分析方案有三种:监控FPS、监控RunLoop、ping主线程。 前面2个都比较熟悉,第三个是最...

  • GCD多线程同步-为什么多用dispatch_group_ent

    GCD使用group进行多线程同步主要有三种方案: dispatch_group_notify dispatch_...

  • iOS开发中的卡顿分析

    市面上的iOS卡顿分析方案有三种:监控FPS、监控RunLoop、ping主线程。 方案一:监控FPS 一般来说,...

  • iOS中的线程同步方案

    前提简述: 常用的线程方案有Pthread,NSThread, GCD,NSOperation。以下是比较:pth...

  • 线程总结

    1、NSThread NSThread 是一套比较轻量级的多线程方案,可以直观的观察线程对象,一个 NSThrea...

网友评论

      本文标题:三种线程方案比较

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