核心原理
统一时间CPU只能处理一条线程,只有一条线程在工作
多线程并发(同时)执行,其实是CPU快速的在多条线程间调度
ios下创建线程的主要开销在于内核数据结构1KB 栈空间子线程512KB 主线程1M
默认主线程为UI线程
1.NSThread 面向对象,简单易用,可直接操作线程对象,几乎不管生命周期
2.GCD ios主推旨在 替代NSthread 充分利用设备的多核 自动管理生命周期
3.NSOperation 基于GCD封装的面向对象的多线程类,比GCD多了一些更简单实用的功能 同样自动管理生命周期
4.pthread 纯c 跨平台多线程库,手动管理线程生命周期,比较复杂不常用
1.NSThread
通过NSObject 对象同样也可以调用开启子线程
隐式调用并直接调用线程
2.线程锁
多条线程保证在同步执行 用来保证每次访问线程都是安全的
@synchronized (){} 能保证在花括号内的内容在每次访问的时候都是安全的,而括号内为锁标记,标记每次不同线程访问时,都是同一个锁对象