首先用一个图来阐释一下
线程与进程的区别:
1.进程是系统分配内存的基本单位,不同进程的内存空间彼此互不干扰
线程是处理器调度和执行的基本单位
2.进程之间依靠通信相互联系
线程之间可以通过访问同一个内存空间进行交互
3.线程的崩溃可能会影响其他线程,进而导致一个进程的崩溃,而进程与进程之间则很难互相影响
举个栗子,
进程就好像一个网吧的管理员,记录了内部有多少个电脑,各个电脑在干嘛,用了多大的地方,是否开机
而线程就是电脑, 如果一个电脑炸了,可能整个网吧就没了,而一个网吧没了则不会影响其他网吧.
最后说一下,线程与进程各自的优点:
线程创建与销毁的开销相对较小,而进程则更加的健全(解耦合).
此外在线程之下还有协程,协程可以理解为更轻量级的线程,创建和销毁的开销更加的小.