进程
概念:在系统中正在运行的一个应用程序。
比如同时打开了迅雷和 Xcode,操作系统就在内存中同时启动了2个进程。
线程
一个进程想要执行任务,必须得有一个线程,一个进程至少有一个线程。一个进程的所有任务都是在线程中执行的。
线程的串行
- 一个线程中任务的执行是
串行
的 - 如果要在1个线程中执行多个任务,只能一个一个地按顺序执行这些任务
- 在同一时间内,一个线程只能执行一个任务
多线程
一个进程可以开启多个线程,每条线程可以并行(同时)
执行不同的任务。进程好比一个车间,线程好比里面的工人。多线程可以提高程序执行的效率。
多线程原理
其实CPU在同一时间,只能处理一条线程,只有一条线程在执行。
多线程并发执行,其实是CPU快速地在多条线程之间调度(切换)
。如果CPU调度线程的时间足够快,就造成了多条线程在同时执行的假象。所以并不是越多线程越好。
多线程的优点
- 适当提高程序的效率
- 适当提高资源利用率(CPU、内存的利用)
多线程的缺点
- 大量开启线程会降低程序性能
- 线程越多,CPU开销和负荷越大
- 程序设计更加复杂,比如线程之间的通信,数据共享等
网友评论