多线程的基本概念(重点)
- 同步:顺序执行
- 异步:同时运行
- 进程:正在运行的程序,一个或多个线程组成
- 线程:最基本的执行单元
多线程:线程是切换运行的!!
主线程:不能在主线程上执行耗时操作
优点:提升程序的执行效率 适当的提升让那个资源占用
缺点:线程不是越多越好
时间成本:大约90ms
空间成本:占用内存512kb
pthread(了解)
NSThread
3种方法创建对象
生命周期(掌握)
1.新建
2.就绪
3.运行
4.阻塞
5.死亡
常用属性
- name
- 优先级
多线程的共享变量问题
- 互斥锁(同步锁)(掌握)
- 自旋锁
区别:
自旋锁,锁赋值方法,互斥锁都可以
自旋锁循环取判断锁的状态,互斥锁安安静静的等
weak&assign
weak对象释放后 ,指向0地址
- assign对象释放后,指向地址不变(野指针)
- 自动释放池:延迟对象的释放
- 消息循环:IOS系统中的执行原理