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