- 什么是程序?
- 程序是指编译之后存储在磁盘上的一个二进制文件, 会占用磁盘空间, 但不会占用系统资源
什么是进程?
- 进程是指程序在操作系统中的一次执行过程, 是系统进行资源分配和调度的基本单位
例如:
启动记事本这个程序, 在系统中就会创建一个记事本进程
再次启动记事本这个程序, 又会在系统中创建一个记事本进程
程序和进程的关系就好比剧本和演出的关系
剧本对应程序, 演出对应进程. 同一个剧本可以在多个舞台同时演出互不影响, 同一个程序可以在系统中开启多个进程互不影响
所以程序和进程的关系是1:N, 所以多个进程的空间是独立的
什么是线程?
- 线程是指进程中的一个执行实例, 是程序执行的最小单元, 它是比进程更小的能独立运行的基本单位
一个进程中至少有一个线程, 这个线程我们称之为主线程
一个进程中除了主线程以外, 我们还可以创建和销毁多个线程
例如:
启动迅雷这个程序, 系统会创建一个迅雷进程, 并且默认会有一个主线程, 用于执行迅雷默认的业务逻辑
当我们利用迅雷下载多个任务的时候, 会发现多个任务都在同时下载, 此时为了能够同时执行下载操作, 迅雷就会创建多个线程, 将不同的下载任务放到不同的线程中执行