rand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。
dispatch queue分成以下三种:
1)运行在主线程的Main queue,通过dispatch_get_main_queue获取。
/*!
* @function dispatch_get_main_queue
*
* @abstract
* Returns the d...
分类:
移动开发 时间:
2015-04-14 11:19:45
阅读次数:
172
喔尽量分成一小节一小节的写。这样也难让大家看的清楚些。我这里有三种创建线程的方法。代码如下
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super
...
分类:
移动开发 时间:
2015-04-12 09:17:51
阅读次数:
166
很久没写博客了,实在太忙了,没有时间写。现在终于空闲下来了,今天就给大家介绍下ios开发里GCD的用法。
刚开始学习的新手,或许对多线程很迷茫,那么什么是线程呢?其实很简单,不要想那么复杂。
1.我们通常知道进程,就是正在执行中的程序,每个进程有自己独立的内存空间,进程之间互相不干涉。(就比如你打开微信)
2.什么是线程?线程是进程执行的基本单元。进程中的任务是在线程中执行的,进程在启动后会...
分类:
移动开发 时间:
2015-04-11 14:53:29
阅读次数:
147
iPhone中的线程应用并不是无节制的,官方给出的资料显示iPhone OS下的主线程的堆栈大小是1M,第二个线程开始都是512KB。并且该值不能通过编译器开关或线程API函数来更改。只有主线程有直接修改UI的能力。
一.线程概述
有些程序是一条直线,起点到终点;有些程序是一个圆,不断循环,直到将它切断。直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花...
分类:
移动开发 时间:
2015-04-09 17:31:25
阅读次数:
189
IOS多线程及队列的使用分类:ios多线程2013-12-11 17:561898人阅读评论(0)收藏举报多线程最近搞一款塔防游戏,提到塔防,自然就想到了A星寻路。的确,它是一种高效的寻路算法。但当很多怪物同时在调用A星算法来寻找一条最近的路径来到达目的地时,我发现会很卡。我都不能接受这个卡屏,更何...
分类:
移动开发 时间:
2015-04-07 13:38:34
阅读次数:
171
1.不要同时开太多的线程(1~3条线程即可,不要超过5条)2.线程概念1> 主线程 : UI线程,显示、刷新UI界面,处理UI控件的事件2> 子线程 : 后台线程,异步线程3.不要把耗时的操作放在主线程,要放在子线程中执行一、NSThread(掌握)1.创建和启动线程的3种方式1> 先创建,后启动/...
分类:
移动开发 时间:
2015-04-05 11:43:17
阅读次数:
203
ios中得多线程技术主要使用3种:NSThread、NSOperation和GCD,这里主要讲GCD GCD:(Grand Central Dispatch)是一种多核编码技术,用纯C语言编写。 异步:具备开启线程的功能 同步:不具备开启线程的功能 并行队列:多个任务可以同时执行 串行...
分类:
移动开发 时间:
2015-04-02 18:09:09
阅读次数:
214
//3 GCD(充分利用设备的多盒)-------------屏蔽了线程,只能看见任务 队列步骤两步,定制任务,将任务添加到队列。GCD将添加的任务,放到线程中去执行,自动执行,自动释放原则:先进先出,先添加的任务先执行,有别于栈的先进后出,先添加的任务后执行-------GCD---GCD有两个用...
分类:
移动开发 时间:
2015-03-29 23:24:02
阅读次数:
202
使用GCD函数可以进行延时操作,该函数为
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
});
现在我们来分解一下参数
dispatch_time(DISPATCH_TIME_N...
分类:
移动开发 时间:
2015-03-21 22:59:52
阅读次数:
293
GCD默认已经提供了全局的并发队列供整个应用使用,所以可以不用手动创建。
创建全局队列的函数为
dispatch_queue_t q = dispatch_get_global_queue(long identifier, unsigned long flags)
参数类型为:
long identifier:ios 8.0 告诉队列执行任务的“服务质量 quality...
分类:
移动开发 时间:
2015-03-20 22:05:03
阅读次数:
169