Content #
线程与进程最大的区别在于,线程是调度的基本单位,而进程则是资源拥有的基本单位。所谓内核中的任务调度,实际上的调度对象是线程;而进程只是给线程提供了虚拟内存、全局变量等资源。
所以,对于线程和进程,我们可以这么理解:
-
当进程只有一个线程时,可以认为进程就等于线程。
-
当进程拥有多个线程时,这些线程会共享相同的虚拟内存和全局变量等资源。这些资源在上下文切换时是不需要修改的。
-
线程也有自己的私有数据,比如栈和寄存器等,这些在上下文切换时也是需要保存的。
Viewpoints #
From #
03 | 基础篇:经常说的 CPU 上下文切换是什么意思?(上)