面试冲刺:40---进程和线程的区别是什么?
一、根本区别
- 进程是操作系统资源分配的基本单位
- 线程是任务调度和执行的基本单位
二、地址空间
- 进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段
- 线程没有独立的地址空间,同一进程的线程共享本进程的地址空间
三、资源
- 进程之间的资源是独立的
- 同一进程内的线程共享本进程的资源
三、执行过程
- 每个独立的进程有一个程序运行的入口、顺序执行序列和程序入口
- 但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制
四、调度
- 线程是处理机调度的基本单位,但是进程不是
- 由于程序执行的过程其实是执行具体的线程,那么处理机处理的也是程序相应的线程,所以处理机调度的基本单位是线程
五、开销
- 进程执行开销大,线程执行开销小