什么是进程?
进程就是指,在系统中正在运行的一个应用程序,比如同时打开QQ,Xcode,系统就会分别启动两个进程、
什么是线程?
一个进程要想执行任务,必须得有线程,线程是进程的基本执行单元,比如使用酷狗播放音乐、使用迅雷下载电影,都需要在线程中执行
线程的串行:一个线程中任务对的执行就是串行
如果要在一个线程中执行多个任务,那么只能一个一个的按照顺序执行这些任务,也就是说,在同一个时间内,一个线程只能执行一个任务
什么是多线程?
一个进程中可以开启多条线程,每条线程可以并发,执行不同的任务
比如:进程就相当于车间,线程就相当于车间工人,比如同时开启三条线程,分别下载三个文件(分别是文件A、文件B、文件C)
多线程的原理:
同一个时间内,CPU只能处理一条线程,只有一条线程在工作或者执行
多线程并发执行,其实就是CPU快速的在多条线程之间调度和切换
如果CPU调度线程的时间足够快,就造成了多线程并发执行的假象
如果线程非常非常多,会发生什么情况呢?
CPU会在N多线程之间调度,CPU会累死,消耗大量的CPU资源
多线程的优点:1、能适当的提高程序的执行效率2、能适当的提高资源的利用率
多线程的缺点:开启线程需要占用一定的内存空间,如果开启大量的线程,会占用大量的内存空间,降低程序的性能
线程越多,CPU在调度线程上的开销就越大
程序设计更加复杂:比如线程之间的通信,多线程的数据共享
什么是主线程?
一个ios程序运行后,默认会开启一条线程,称为“主线程”或者“UI线程”
主线程的主要作用:显示、刷新UI界面