在学习多线程之前需要了解什么是进程?
进程是指在系统中正在运行的一个应用程序
每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内
可以通过“活动监视器”查看Mac中所开启的进程
下一个问题什么是线程?
一个进程想要执行任务,必须得有线程(每一个进程只收要有一个主线程)
一个进程中的所有任务都在线程中执行
线程的串行
1.一个线程中任务的执行时串行的
2.如果要在一个线程中执行多个任务,那么只能一个一个地按顺序执行
那么问题又来了什么叫多线程呢?
1.一个进程中可以开多条线程,每条线程可以并行执行不同的任务
2.多线程技术可以提高程序的执行效率
如图:
多线程的原理
1.同一时间,CPU只能处理1条线程,只有1条线程在工作
2.多线程的并发执行,其实就是CPU在快速的进行切换
3.因为CPU切换非常快,就导致了多线程(其实是假象)
多线程的优缺点
优点:
1.能提高程序的执行效率
2.能适当提高资源利用率
缺点:
1.创建线程是有开销的,iOS下创建线程大约需要90毫秒的创建时间
2.如果开启大量的线程,会降低程序的性能
3.会使程序设计更加复杂