【嵌入式面经专题】3-进程与线程的区别
线程的特点
一个进程中有多个线程,
每个线程都有自己独立的程序计数器、寄存器和堆栈(虚拟机栈和本地方法栈)。
但线程之间共享着资源——当前进程地址空间、全局变量、打开的文件信息(堆和方法区资源)。
而进程之间不共享地址空间,相互独立,之间的通信(IPC)需要进行系统调用,消耗的算力比线程之间交流要大。
另外进程间切换也比线程耗时。
线程有什么用?只用进程可以吗?
当一个进程中,有多个逻辑上需要并行执行的部分时,线程的意义就凸显了出来。
另外的不同包括健壮性:一个进程崩溃后,在保护模式下不会对其他进程产生影响,但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。
总之,进程资源分配的基本单位,而线程是任务调度和执行的基本单位。