上一页 1 ··· 68 69 70 71 72 73 74 75 76 ··· 101 下一页
摘要: void *objc_destructInstance(id obj){ if (obj) { Class isa_gen = _object_getClass(obj); class_t *isa = newcls(isa_gen); // Read all of the flags at onc 阅读全文
posted @ 2018-02-01 21:26 zzfx 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 我们在 iOS 开发中经常需要使用分类(Category),为已经存在的类添加属性的需求,但是使用 @property 并不能在分类中正确创建实例变量和存取方法。 不过,通过 Objective-C 运行时中的关联对象,也就是 Associated Object,我们可以实现上述需求。 写在前面 这 阅读全文
posted @ 2018-02-01 20:45 zzfx 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 我是前言 这次探索源自于自己一直以来对ARC的一个疑问,在MRC时代,经常写下面的代码: 对象析构时将内部其他对象release掉,申请的非Objc对象的内存当然也一并处理掉,最后调用super,继续将父类对象做析构。而现如今到了ARC时代,只剩下了下面的代码: 问题来了: ARC文档中对deall 阅读全文
posted @ 2018-02-01 20:06 zzfx 阅读(367) 评论(0) 推荐(0) 编辑
摘要: extension看起来很像一个匿名的category,但是extension和有名字的category几乎完全是两个东西。 extension在编译期决议,它就是类的一部分,在编译期和头文件里的@interface以及实现文件里的@implement一起形成一个完整的类,它伴随类的产生而产生,亦随 阅读全文
posted @ 2018-02-01 20:02 zzfx 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 在继承体系中,多个子类的引用,父类缺省执行一次; 特殊情况: 1)子类没有实现、调用父类方法; 2)子类显示调用父类; 3)存在分类实现,分类实现覆盖本体。 Initializes the class before it receives its first message. The runtime 阅读全文
posted @ 2018-02-01 15:37 zzfx 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 函数签名-调用约定-函数调用栈: 函数名、参量、返回值等信息的汇总; 密切相关 阅读全文
posted @ 2018-01-30 12:14 zzfx 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 人生维艰,努力向上 人生就像在通往天堂的路上进行赛跑,不仅要爬很多的坡,越很多的谷,而且要面对众多的竞争对手。那些对手会对你又拦又挡,又拦又拽,又踢又踹,不断阻止你打倒目标。这个时候就需要你自立自强,努力向上,强大自己,克服困难。 西游记。 阅读全文
posted @ 2018-01-29 10:46 zzfx 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 函数式表达式:分解、合成、赋函、调用、嵌套、级联、抽象; 抽象:将调用与实现分离。 阅读全文
posted @ 2018-01-28 15:23 zzfx 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 把函数当作普通的运算符使用。 2. 只用"表达式",不用"语句"() "表达式"(expression)是一个单纯的运算过程,总是有返回值; "语句"(statement)是执行某种操作(更多的是逻辑语句。),没有返回值。 函数式编程要求,只使用表达式,不使用语句。也就是说,每一步都是单纯的运算,而 阅读全文
posted @ 2018-01-28 15:20 zzfx 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 函数式编程有两个最基本的运算:合成和柯里化。 2.1 函数的合成 如果一个值要经过多个函数,才能变成另外一个值,就可以把所有中间步骤合并成一个函数,这叫做"函数的合成"(compose)。 上图中,X和Y之间的变形关系是函数f,Y和Z之间的变形关系是函数g,那么X和Z之间的关系,就是g和f的合成函数 阅读全文
posted @ 2018-01-28 13:56 zzfx 阅读(1420) 评论(0) 推荐(0) 编辑
摘要: 理解的含义是建立充分的联系 阅读全文
posted @ 2018-01-28 09:59 zzfx 阅读(143) 评论(0) 推荐(0) 编辑
摘要: queue相当于事件处理机制里的事件池;只是任务池; 线程作为事件处理的实施者,由线程池从任务池中获取任务进行调度派发; group相当与工作组,按照任务的相关性对任务进行组织。 阅读全文
posted @ 2018-01-28 00:52 zzfx 阅读(181) 评论(0) 推荐(0) 编辑
摘要: Volatile variables apply another type of memory constraint to individual variables. The compiler often optimizes code by loading the values for variab 阅读全文
posted @ 2018-01-26 18:56 zzfx 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 在内核中或者同步变量中维护着一个同步变量和线程的映射关系。 上述结论只是猜测。 阅读全文
posted @ 2018-01-26 17:44 zzfx 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 不变量,临界区和判定条件 不变量(Invariant):程序所做的一些假设,特别是指变量之间的关系。如:一个queue,有头节点,和其它数据节点,这些元素之间的连接关系就是不变量。当程序里面不变量遭受破坏时,后果往往是很严重的,轻则数据出错,重则程序直接崩溃。 临界区(Critical Sectio 阅读全文
posted @ 2018-01-26 17:37 zzfx 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 使用线程的几种方式 1. 流水线:每个线程反复地在数据系列集上执行同一种操作,并把操作结果传递给下一步骤的其他线程,这就是“流水线”(assembly line)方式; 2 工作组:每个线程都在自己的数据上执行操作。工作组中的线程可能执行同样的操作,也可能执行不同的操作,但是他们一定独立运行; 3 阅读全文
posted @ 2018-01-26 17:35 zzfx 阅读(257) 评论(0) 推荐(0) 编辑
摘要: In concurrent programming, a monitor is a synchronization construct that allows threads to have both mutual exclusion and the ability to wait (block) 阅读全文
posted @ 2018-01-26 17:09 zzfx 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 如果互斥锁类型为 PTHREAD_MUTEX_NORMAL,则不提供死锁检测。尝试重新锁定互斥锁会导致死锁。如果某个线程尝试解除锁定的互斥锁不是由该线程锁定或未锁定,则将产生不确定的行为。 如果互斥锁类型为 PTHREAD_MUTEX_ERRORCHECK,则会提供错误检查。如果某个线程尝试重新锁定 阅读全文
posted @ 2018-01-25 23:06 zzfx 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 条件变量相当于订阅-发布机制; 或者相当于同步的通知机制; 订阅和发布具有先后顺序;所以需要互斥量来维护顺序。 顺序不对,存在信号丢失问题。 Problem statement[edit] For many applications, mutual exclusion is not enough. 阅读全文
posted @ 2018-01-25 22:17 zzfx 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 线程不存在真正的唤醒机制; 所谓的唤醒只是将同步变量置1;在下一个cpu时间片竞争变量,将线程的状态置就绪状态,从而执行; 或者处于自悬状态,有信号释放,立即捕获,从而执行。 阅读全文
posted @ 2018-01-25 22:13 zzfx 阅读(236) 评论(0) 推荐(0) 编辑
上一页 1 ··· 68 69 70 71 72 73 74 75 76 ··· 101 下一页