GCD 是iOS多线程实现方案之一,非常常用 英文翻译过来就是伟大的中枢调度器,也有人戏称为是牛逼的中枢调度器 是苹果公司为多核的并行运算提出的解决方案 1.一次性函数 dispatch_once 顾名思义是只执行一次的函数,注意是整个程序中只执行一次(单例模式常用到) 2.栅栏函数 dispatc ...
分类:
其他好文 时间:
2016-03-26 10:38:32
阅读次数:
175
从各种资料中了解到,iOS中目前有4套多线程的方案,分别是下列4中: 1、Pthreads 这是一套可以在很多操作系统上通用的多线程API,是基于C语言的,在在oc中使用时需要包含 #import<pthread.h> 使用这种多线程方案需要手动处理线程的各个状态的转换,也就是要管理线程的生命周期。
分类:
移动开发 时间:
2016-03-17 19:14:30
阅读次数:
340
这篇文章主要讲NSOperation的使用。 使用NSOperation和NSOperationQueue进行多线程开发类似于线程池,只要将一个NSOperation(实际开发中需要使用其子类NSInvocationOperation、NSBlockOperation)放到NSOperation
分类:
移动开发 时间:
2016-03-15 14:48:58
阅读次数:
248
在 GCD 中,加入了两个非常重要的概念:任务和队列一个线程是可以拥有多个执行队列的,所有任务是添加到队列中等待执行的主队列是特殊的串行队列,自己创建的队列可以指定串行或并行,全局队列是并行队列 任务:即操作,你想要干什么,说白了就是一段代码,在 GCD 中就是一个 Block,所以添加任务十分方便
分类:
移动开发 时间:
2016-03-10 12:11:34
阅读次数:
206
(1)首先回答什么是线程 1个进程要想执行任务,必须得有线程.线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行 (2)什么是多线程 1个进程中可以开启多条线程,每条线程可以并行(同时)执行不同的任务。 多线程的作用:更新显示UI界面、处理用户触摸事件。 (3)Mach是第一个以多线
分类:
移动开发 时间:
2016-03-03 14:34:57
阅读次数:
211
前言 线程是用来执行任务的,线程彻底执行完任务A才能去执行任务B。为了同时执行两个任务,产生了多线程。 我打开一个视频软件,我开辟一个线程A让它执行下载任务,我开辟一个线程B,用来播放视频。我开辟两个线程后,这两个任务能同时执行,如果我开辟一 个线程,只有下载任务完成,才能去执行播放任务。 线程相当
分类:
移动开发 时间:
2016-03-02 20:00:57
阅读次数:
250
使用GCD开发的基本思路基本思想:将任务(操作)放在队列中去执行任务使用block定义队列负责调度任务执行所在的线程以及具体的执行时间队列的特点是先进先出(FIFO)的,新添加至队列的操作都会排在队尾.GCD的函数都是以dispatch开头的注意:队列不是线程,也不对应CPU。队列:..
分类:
移动开发 时间:
2016-03-02 11:20:31
阅读次数:
203
NSOperation对象的使用步骤NSOperation对象描述了一个操作任务;NSOperationQueue对象描述了一个任务队列,相当于GCD的dispatch_queue_tNSOperation及NSOperationQueue可以任务是GCD之上的面向对象封装GCD提供了更底层的控制,NSOperationQueue在GCD之上实现了一些方便的功能,..
分类:
移动开发 时间:
2016-03-02 11:17:25
阅读次数:
232
转自容芳志的博客 简介 iOS有三种多线程编程的技术,分别是: (一)NSThread (二)Cocoa NSOperation (三)GCD(全称:Grand Central Dispatch) 这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的。
分类:
移动开发 时间:
2016-02-25 01:42:12
阅读次数:
454