进程与线程是什么
进程:进程是程序运行资源分配的最小单位
线程:线程是依赖于进程存在,CPU调度的最小单位
进程与线程的区别
进程 | 线程 | |
---|---|---|
定义 | 进程是程序运行的一个实体的运行过程,是系统进行资源分配和调度的一个独立单位 | 线程是进程运行和执行的最小调度单位 |
活泼性 | 不活泼(只是线程的容器) | 活泼(随时可以创建和销毁) |
系统开销 | 创建,撤销,切换开销大,资源要重新分配和回收 | 相对于进程只保存少量寄存器内容,开销小,在进程的地址空间执行代码 |
拥有资产 | 资源拥有的基本单位 | 相对于进程来说基本上不拥有资源,但会占用CPU |
地址空间 | 系统赋予的独立的内存地址空间 | 线程只由相关堆栈寄存器和线程控制表TCB组成,寄存器可用来存储线程内的局部变量 |
调度 | 仅是资源分配的最小单位 | 独立调度,分派的基本单位 |
安全性 | 进程之间相对比较独立,彼此不会互相影响 | 线程共享同一个进程下面的资源,可以相互通信和互相影响 |