3.1.1 什么是GCD
用简洁的记述方法,实现了复杂繁琐的多线程编程。
/* 废弃的方法 */
performSelectorInBackground:withObject:
performSelectorOnMainThread:withObject:waitUnitlDone:
/* GCD */
diapatch_async(queue, ^{
// 长时间处理的的任务
dispatch_async(dispatch_get_main_queue(), ^{
// 主线程处理,例如界面刷新
});
});
3.1.2 多线程编程
一个 CPU 核一次能够执行的 CPU 命令始终为1。
数据竞争,死锁。
简单描述多线程的原理,可能会遇到的一些常见线程问题。