- 进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位
- 进程之间的切换比线程之间切换的开销大。
- 线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。
- 线程不能独立执行,必须依赖进程的资源
- 因为线程的出现,提高了并发。
这个问题基本上是面试必考的了,首先,我们先了解什么是进程,什么是线程?用比较官方的话就是:进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。线程就简单点,线程就是处理机调度的基本单元,就是放到CPU上面去跑的。
那什么有了进程还要有线程,我们再看看那句比较官方的话“进程是一个具有一定独立功能的程序”。说明进程是独立的,独立资源,独立的处理机调度。那进程之间的切换就得花比较大的资源消耗了。线程就不一样了,线程之间是共享资源的,线程之间的切换成本小很多,然后线程就在大部分场景上处理机调度上面取代了进程,成为了处理机调度的基本单元。