进程和线程的区别
进程是操作系统资源分配的最小单位,而线程是任务调度和执行的最小单位
进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段,线程没有独立的地址空间,它使用相同的地址空间共享数据;(线程比进程开销小)
对资源的管理和保护要求高,不限制开销和效率时,使用多进程。
而要求效率高,频繁切换时,资源的保护管理要求不是很高时,使用多线程。
独享: 线程ID,寄存器,堆栈
共享: 进程代码段、进程的公有数据、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID