一个对象什么时候加入自动释放池? 误解一:ARC下的所有对象都会加入自动释放池? 自动释放池没有那么闲,苹果也没那么傻,一个没用的临时对象加到自...
思考:一个对象什么时候加入自动释放池? How AutoreleasePool 自动释放池是一个抽象的概念 自动释放池是一组page的集合 自动...
概述 dispatch_once能保证任务只会被执行一次,即使同时多线程调用也是线程安全的。常用于创建单例、swizzeld method等功能...
一、线程相关概念 1.1 原子操作 原子和原子操作 原子操作:不可分割的操作。该操作一定是在同一个CPU时间片中完成,这样即使线程被切换,在多个...
上一回从public API的角度看了如何新建一个队列、哪些字段有关队列优先级、以及队列的优先级怎么设置。这一回就从源码的角度来证实上一回的猜测...
想了许久,还是决定将GCD的内容尽量写得简单一点,所以多分几个章节,每个章节内容尽量少。 一、如何创建一个队列 GCD提供了3个创建队列的API...
写在前面,GCD确实是非常抽象的一个库,很容易让人产生放弃的情绪,但“谁无暴风劲雨时,守得云开见月明”。首先需要找到GCD的源码:libdisp...
一、NSThread介绍 NSThread是苹果官方提供的,使用起来比pthread更加面向对象,简单易用,可以直接操作线程对象。不过也需要需要...
文章目录一、RunLoop简介1.1 什么是RunLoop?1.2 RunLoop和线程1.3 默认情况下主线程的RunLoop原理二、RunL...
文集作者