线程概念
进程概念
- 操作系统结构的基础
- 一次程序的执行
- 一个程序及其数据结构在处理机上顺序执行时所发生的活动
- 程序在一个数据集合上执行的过程
- 系统进行资源分配和调度的一个独立单位
线程概念
- 进程中独立运行的子任务
- 一个进程在运行时至少会有一个线程在运行
多线程的优势
- 解决顺序执行时独占CPU却不使用造成CPU资源的浪费的问题
- 最大限度地利用CPU的空闲时间来处理其他的任务
进程线程异同对比
对比内容 | 进程 | 线程 |
---|---|---|
本质区别 | 操作系统资源分配的基本单位 | 任务调度和执行的基本单位 |
系统开销 | 拥有独立的代码及数据空间;进程间切换开销大 | 同一类线程共享代码及数据空间,每个线程拥有独立的运行栈及程序计数器;线程间切换开销小 |
所处环境 | 操作系统中能同时运行多个进程 | 同一个进程中能同时运行多个线程(通过CPU调用,在每个时间片只有一个线程执行) |
内存分配 | 操作系统为进程分配不同的内存空间 | 除CPU外,系统不会为线程分配内存 线程所使用的资源来自其所属进程的资源 线程组之间只能共享资源 |