Swift GCD
基础知识 iOS 多线程实现方式 * Grand Central Dispatch (GCD): 自动管理线程生命周期 * NSOperation: 自动管理线程生命周期,基于 GCD 实现 * NSThread: 手动管理线程生命周期 并发和并行 * 并发: 并发不是真正的多线程,而是通过CPU(单核)在多个线程间快速切换调度,实现接近同时执行的效果 * 并行: 并行是真正的多线程,多个线程能同时执行 同步和异步 * 同步:在当前线程里按顺序执行多项任务,且任务结束的顺序和任务开始执行的顺序是一致的。执行同步任务不会开启新线程,所有的任务都在当前线程执行。把一个同步任务分配出去后,当前线程会一直等到这个任务执行完才能接着运行后面的代码(因为同步任务本身就是分配给当前线程干的) * 异步:异步任务也是按顺序分配给线程的,但是可能会放在多个线程里执行的,所以每个任务结束的顺序有可能是随机的。执行异步任务可能会开启新线程,要具体情况具体分析。把一个异步任务分配出去后,当前线程不用等这个任务执行完就可以执行后面的代码,因为这个异步任务有可能交给别的线程去做了