什么是进程
计算机的组成
- 最核心:cpu+内存
- 图解
从程序的执行过程开始(以exe为例)
- 操作系统可执行的文件
- 双击===>os找到exe文件===>相关信息load到内存中(可以多次load同一文件资源)===>内存中的每一份都称为一个进程
- os把程序放进内存之后变成进程之后,还会分配运行时所需要的相关资源:内存、文件描述符、io端口等……
- 进程是资源分配的基本单位
什么是线程
通俗角度理解
- 一个程序中的不同执行路径就叫一个线程
- 当程序中只有一条路径的时候就是单线程(即便有if、while、……但不管怎样都只有一条路径)
- 也被称为主线程(main)
- 图解
- 启动一个程序之后在中间会产生分支,同时不同的分支在同时运行(同一时间段都在运行)
- 图解
专业角度
- 回顾计算机组成的图
程序转入内存之后,真正执行是以线程为单位来执行的
一个进程中可能包含多个线程
- 线程在进程内部,是一个动态的概念,多个线程共享同一个进程中的所有资源
- 共享资源===>线程的同步和互斥(共享产生麻烦)
- 资源分配的基本单位:进程
- 调度执行的基本单位:线程