关于GCD
文章平均质量分 68
Allen_iOS
为了不迟到,最好早走几分钟
展开
-
GCD小结
0. Brief Introduction GCD,全称Grand Central Dispath,是苹果开发的一种支持并行操作的机制。它的主要部件是一个FIFO队列和一个线程池,前者用来添加任务,后者用来执行任务。 GCD中的FIFO队列称为dispatch queue,它可以保证先进来的任务先得到执行(但不保证一定先执行结束)。 通过与线程池的配合,disp转载 2015-02-27 10:31:39 · 431 阅读 · 0 评论 -
GCD和多线程
在红黑联盟上看到一篇关于多线程GCD的教程文章,写的深入浅出,特转载于此,以备不时之需。原文链接另: 补充两个GCD代码,都是Xcode snippet里面提供的: 1.Dispatch After 主要用于延迟执行一些代码。 例子: int64_t delayInSeconds = 1.0; dispatch_time_t popTime =dispatch_time转载 2015-03-03 17:29:49 · 650 阅读 · 0 评论 -
关于GCD(详细)
使用GCD需要注意的地方: 1)更新UI只能在主线程中执行。 2)使用线程不安全的对象要注意 3)创建的dispatch_queue_t要release掉,否则内存会报错。 //============================================== GCD之dispatch queues: 1、一个dispatch queue是一个像类型的结构,管理着你提交给它的转载 2015-03-16 18:43:11 · 652 阅读 · 0 评论 -
使用GCD时的内存管理问题
对于dispatch_queue_t 对象来说,我们应该这么写 #if OS_OBJECT_USE_OBJC @property (strong, nonatomic) dispatch_queue_t barrierQueue; #else @property (assign, nonatomic) dispatch_queue_t barrierQueue; #endif转载 2015-03-16 18:45:50 · 2240 阅读 · 0 评论 -
iOS GCD深入浅出
iOS中多线程编程工具主要有: NSThreadNSOperationGCD 这三种方法都简单易用,各有千秋.但无疑GCD是最有诱惑力的,因为其本身是apple为多核的并行运算提出的解决方案.虽然当前移动平台用双核的不多,但不影响GCD作为多线程编程的利器(ipad2已经是双核了,这无疑是一个趋势). http://www.cnblogs.com/scorpiozj/archive/2转载 2015-03-16 11:33:33 · 694 阅读 · 0 评论 -
关于block的那些事
一,前言 在前文《深入浅出Cocoa多线程编程之block与dispatch quene》中我介绍了 block 的一些基本语法以及如何和 GCD 结合的使用示例。block 是在 iOS 4 中引入的新特性,它和 C++ 11 中的 lamba 表达式概念相似,有时候也被称为闭包。经过一段时间的使用,我发现要用对用好 block 还是有不少需要注意的地方,今天就来八一八这些值得注意的事转载 2015-03-16 18:51:44 · 483 阅读 · 0 评论 -
NSOperationQueue、NSRunLoop和线程安全
目前在 iOS 和 OS X 中有两套先进的同步 API 可供我们使用:NSOperation 和 GCD 。其中 GCD 是基于 C 的底层的 API ,而 NSOperation 则是 GCD 实现的 Objective-C API。 虽然 NSOperation 是基于 GCD 实现的, 但是并不意味着它是一个 GCD 的 “dumbed-down” 版本, 相反,我们可以用NSOperat转载 2015-03-23 15:27:45 · 575 阅读 · 0 评论 -
IOS多线程知识总结/队列概念/GCD/主队列/并行队列/全局队列/主队列/串行队列/同步任务/异步任务区别
进程:正在进行中的程序被称为进程,负责程序运行的内存分配;每一个进程都有自己独立的虚拟内存空间 线程:线程是进程中一个独立的执行路径(控制单元);一个进程中至少包含一条线程,即主线程 队列 dispatch_queue_t,队列名称在调试时辅助,无论什么队列和任务,线程的创建和回收不需要程序员操作,有队列负责。 串行队列:队列中的任务只会顺序执行(类似跑步转载 2015-08-06 17:13:20 · 1498 阅读 · 0 评论