线程与进程

进程


线程与进程_第1张图片

线程


线程与进程_第2张图片

线程的串行


线程与进程_第3张图片

多线程


线程与进程_第4张图片

多线程的原理


线程与进程_第5张图片

多线程的优缺点

- 多线程的优点

- 能适当提高程序的执行效率

- 能适当提高资源利用率(CPU、内存利用率)

- 多线程的缺点

- 创建线程是有开销的,iOS下主要成本包括:内核数据结构(大约1KB)、栈空间(子线程512KB、主线程1MB,也可以使用-setStackSize:设置,但必须是4K的倍数,而且最小是16K),创建线程大约需要90毫秒的创建时间

- 如果开启大量的线程,会降低程序的性能

- 线程越多,CPU在调度线程上的开销就越大

- 程序设计更加复杂:比如线程之间的通信、多线程的数据共享

多线程在iOS开发中的应用

- 什么是主线程

- 一个iOS程序运行后,默认会开启1条线程,称为“主线程”或“UI线程”

- 主线程的主要作用

- 显示\刷新UI界面

- 处理UI事件(比如点击事件、滚动事件、拖拽事件等)

- 主线程的使用注意

- 别将比较耗时的操作放到主线程中

- 耗时操作会卡住主线程,严重影响UI的流畅度,给用户一种“卡”的坏体验

耗时操作的执行


线程与进程_第6张图片
线程与进程_第7张图片

iOS中多线程的实现方案


线程与进程_第8张图片

你可能感兴趣的:(线程与进程)