Runloop
- RunLoop 的本质是什么?
- Runloop和线程是什么关系?
- Runloop的底层数据结构是什么样的?有几种 运行模式(mode)?每个运行模式下面的 CFRunloopMode 是哪些?他们分别是什么职责?
- Runloop 的监听状态有哪几种?
- Runloop 的工作流程大概是什么样的?
- Runloop 有哪些应用?
- Source0, Source1
线程、队列、锁
- 线程、队列的关系? 一个线程是否可能存在于两个队列?
- 队列一定会创建线程吗?
- 队列是否可以无限制创建?
- PerformSelector & NSInvocation优劣对比
- gcd 的使用,能不能取消?
- 如何进行线程保活
- 编程题 3个线程顺序打印 0-100
GCD
- GCD、NSOperation区别, 功能方法区别.
- gcd queue 的区别
- group 如何实现barrier类似的功能?
- GCD group 如何实现同步的? (还能用什么实现?)
- 执行一个 NSThread 任务, 如何在执行过程中让他终止?
- iOS NSOperation 是如何终止/取消任务的?
- 多线程,异步执行(async)一个performSelector 会执行么?如果加上 afterDelay呢?
- GCD 实现 NSOperationQueue
- DispatchQoS的作用
KVC、KVO
- 结构体的字节对齐和OC对象的字节对齐?
- instance(实例对象)、class(类对象)、meta-class(元类对象)分别储存了什么信息?为什么要设计元类?