1. 进程包含线程
线程被包含在进程中的.
一个进程默认会有一个线程 , 当然也可以有多个线程 ~
每个线程都是一个 执行流 可以单独的在CPU上进行调度~
每一个进程中的这些线程 , 公用同一份系统资源 ( 系统资源指 内存和文件)
2. 线程比进程更加轻量 , 创建更快 , 销毁也更快
如果把 进程看作工厂 那么 线程就是工厂流水线! 线程的创建和销毁 开销都要更小!!!
使用多线程 只有第一个线程 需要申请资源 , 后续在创建新线程 都是共用同一份系统资源,
这样子 能够节省申请和销毁资源的开销 , 也就大大提高了效率~
3. 同一个进程的多个线程之间 公用同一份内存/文件资源 , 进程和进程之间则是独立的文件/资源
创建进程 需要先创建PCB然后再分配资源 , 复制到PCB 然后再把PCB插入到链表
而创建 线程 只有第一个线程要分配资源 后面的只需要创建PCB即可 PCB之间公用同一份资源;
4. 进程是资源分配的基本单位 线程是调度执行的基本单位
进程 资源调度都是分隔开来的
线程 资源共享,调度分开