一、进程
1.进程的概念:进程是操作系统对于一个正在运行的程序的一种抽象,(比如运行中的XX.exe),可以把进程看作程序的一次运行过程,且在操作系统的内部,进程是操作系统进行资源分配的基本单位。
- 程序是在一个静态磁盘上的可执行文件。
- 进程是将可执行文件加载到系统中。
进程的本质:PCB, (一种以C\C++编写的结构体),类似与JAVA中的类,每一个PCB对象对应的就是一个进程。
PCB 中包含:
1)PID:进程ID ,是进程的唯一身份标识。
2)进程状态:新建状态,就绪状态,运行状态,阻塞状态,销毁状态
3)优先级:决定进程的执行顺序
4)记账信息:保证进程执行的公平性,其中记录着CPU调用该进程的次数和时间间隔,为进程调度器提供数据支持。
5)上下文信息:保存进程的执行状态,以便下次启用。
6)一组内存:指进程执行过程中所划分的资源空间。
二、线程
1、线程的概念:一个线程就是一个“执行流”,是操作系统能够进行运算调度的最小单元,包含于进程中,是进程实际运行的基本单位。
并发编程:在如今的计算机发展中,CPU的制作工艺达到一定的瓶颈,即无法做的更小,故而迎来了的多核心时代,想要进一步提升程序的运行速度,就要提高多核运行效率,从而实现轻量化。
虽然多进程也能实现并发编程,但是每条进程都要开辟新的资源,多进程显得厚重,引入线程就显得更加轻量。
线程优势:
- 创建线程比创建进程更快;
- 销毁线程比销毁进程更快;
- 调度线程比调度进程更快;
三、进程和线程的区别
1,定义不同:进程是操作系统进行资源分配的最小单元;线程是操作系统运算调度的最小单元。
2,从属不同:进程是包含线程的,每一个进程至少拥有一个线程,即主线程。
3,开销不同:进程的创建、销毁、切换的开销远大于线程。
4,资源共享不同:每个进程之间的内存是不可能共享内存的,同一进程间的线程内存共享。
5,操纵者不同:进程的操纵者一般是操作系统,线程的操纵者为编程人员。
2300

被折叠的 条评论
为什么被折叠?



