进程和线程的区别和联系
区别1(定义):
进程:操作系统资源分配
的基本单位
线程:CPU任务调度
的最小单位
区别2(内存空间/独立性):
- 创建一个新的进程必须分配给它
独立的地址空间
有自己独立的数据表
来维护代码 段
、堆栈
段和数据
段等 线程没有
独立的地址空间 但是使用一个地址空间共享数据 自己独立的运行栈
和程序计数器
(PC)- 进程比线程独立 进程死亡不影响其他进程
而线程依赖于进程而存在,崩溃
时一个线程死掉就等于整个进程死掉
区别3(通信):
由2可见,线程之间通信
更方便,同一个进程下,线程共享全局变量,静态变量等数据,进程之间的通信需要以通信的方式(IPC)进行
区别4(效率 性能):
进程间彼此独立,进程的上下文切换
比线程花费大
因为在同一个进程下共享资源,创建线程比进程的花销
小
线程占用的资源
比进程少 响应速度
快
联系:线程是轻量级的进程
一个进程由多个线程组成
同属一个进程的线程共享进程的全部