代码改变世界

随笔档案-2013年1月21日

GCD实战2:资源竞争

2013-01-21 15:20 by 三戒1993, 104 阅读, 收藏,
摘要: 概述我将分四步来带大家研究研究程序的并发计算。第一步是基本的串行程序,然后使用GCD把它并行计算化。如果你想顺着步骤来尝试这些程序的话,可以下载源码。注意,别运行imagegcd2.m,这是个反面教材。。imagegcd.zip(8.4 KB, 108 次)原始程序我们的程序只是简单地遍历~/Pic... 阅读全文

GCD实战2:资源竞争

2013-01-21 15:20 by 三戒1993, 115 阅读, 收藏,
摘要: 概述我将分四步来带大家研究研究程序的并发计算。第一步是基本的串行程序,然后使用GCD把它并行计算化。如果你想顺着步骤来尝试这些程序的话,可以下载源码。注意,别运行imagegcd2.m,这是个反面教材。。imagegcd.zip(8.4 KB, 108 次)原始程序我们的程序只是简单地遍历~/Pic... 阅读全文

GCD实战一:使用串行队列实现简单的预加载

2013-01-21 14:56 by 三戒1993, 107 阅读, 收藏,
摘要: 其主要思路是使用gcd创建串行队列,然后在此队列中先后执行两个任务:1.预加载一个viewController 2.将这个viewController推入代码如下:@implementation DWAppDelegate{ dispatch_queue_t _serialQueue; ... 阅读全文

GCD实战一:使用串行队列实现简单的预加载

2013-01-21 14:56 by 三戒1993, 120 阅读, 收藏,
摘要: 其主要思路是使用gcd创建串行队列,然后在此队列中先后执行两个任务:1.预加载一个viewController 2.将这个viewController推入代码如下:@implementation DWAppDelegate{ dispatch_queue_t _serialQueue; ... 阅读全文

GCD介绍(四): 完结

2013-01-21 14:47 by 三戒1993, 85 阅读, 收藏,
摘要: Dispatch Queue挂起dispatch queue可以被挂起和恢复。使用dispatch_suspend函数来挂起,使用 dispatch_resume函数来恢复。这两个函数的行为是如你所愿的。另外,这两个还是也可以用于dispatch source。一个要注意的地方是,dispatch ... 阅读全文

GCD介绍(四): 完结

2013-01-21 14:47 by 三戒1993, 191 阅读, 收藏,
摘要: Dispatch Queue挂起dispatch queue可以被挂起和恢复。使用dispatch_suspend函数来挂起,使用 dispatch_resume函数来恢复。这两个函数的行为是如你所愿的。另外,这两个还是也可以用于dispatch source。一个要注意的地方是,dispatch ... 阅读全文

GCD介绍(三): Dispatch Sources

2013-01-21 14:14 by 三戒1993, 154 阅读, 收藏,
摘要: 何为Dispatch Sources简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我们到底讨论哪些事件类型?下面是GCD 10.6.0版本支持的事件:Mach po... 阅读全文

GCD介绍(三): Dispatch Sources

2013-01-21 14:14 by 三戒1993, 96 阅读, 收藏,
摘要: 何为Dispatch Sources简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我们到底讨论哪些事件类型?下面是GCD 10.6.0版本支持的事件:Mach po... 阅读全文

Objective-c 中 nil, Nil, NULL和NSNull的区别

2013-01-21 11:21 by 三戒1993, 156 阅读, 收藏,
摘要: nil:A null pointer to an Objective-Cobject.( #define nil ((id)0) )Nil: A null pointer to an Objective-Cclass.NULL: A null pointer to anything else, is... 阅读全文

Objective-c 中 nil, Nil, NULL和NSNull的区别

2013-01-21 11:21 by 三戒1993, 131 阅读, 收藏,
摘要: nil:A null pointer to an Objective-Cobject.( #define nil ((id)0) )Nil: A null pointer to an Objective-Cclass.NULL: A null pointer to anything else, is... 阅读全文

GCD介绍(二): 多核心的性能

2013-01-21 10:07 by 三戒1993, 116 阅读, 收藏,
摘要: 概念为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进... 阅读全文

GCD介绍(一): 基本概念和Dispatch Queue

2013-01-21 09:55 by 三戒1993, 111 阅读, 收藏,
摘要: 什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQ... 阅读全文

GCD介绍(一): 基本概念和Dispatch Queue

2013-01-21 09:55 by 三戒1993, 184 阅读, 收藏,
摘要: 什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQ... 阅读全文

CoreData 自定义数据类型

2013-01-21 09:47 by 三戒1993, 298 阅读, 收藏,
摘要: 在coredata中,entity中attribute的类型只有固定的几种可选。如下图:有没有方法扩展类型呢?方法当然是有的。原理是把要存类型转化为二进制的方式存在数据库中。 比如我们要想直接存放UIImage到数据库,如何做?首先,在coredata中新建的attribute中类形选择Transf... 阅读全文