ref进程、线程、进程池、进程三态、同步、异步、并发、并行、串行
进程&线程
- 进程
- 运行一个程序, 是最小的资源分配单元, 线程的容器
- 申请一块内存空间
- 进程间通信通过TCP/IP端口实现
- 线程
- 进程中一个单一顺序控制流, 最小的程序执行单位, 包含于进程中
- 申请部分栈
- 线程间通过共享的内存空间来交互
- `
- 一个程序至少一个进程, 一个进程至少一个线程
- 一个线程课创建和撤销另一个线程, 一个进程的多个线程课并发执行
并行&并发&串行
- 并发: cpu在多个任务间切换, 多任务看起来同时进行, 假并行
- 并行: 多任务同时进行, 必须多核才能实现
- 穿行: 一个程序运行完到下一个程序
任务态
同步&异步
- 同步
- 发送方发送数据后, 等待接收方响应再发下一个数据报
- 两程序运行相关
- 异步
- 发送方发出数据后, 不等待接收方响应就发下一个
- 两个线程无关
进程池
- 进程池
- 若同一时间有大量任务, 同时创建或销毁大量进程都非常耗时
- 定义一个池, 放若干固定数量进程, 出现需求时取一个进程处理任务
- 处理完毕不关闭进程, 放回进程池继续等待
- 若超出进程数量, 任务需要等待之前的进程执行完毕才能继续, 即同一时间最多有固定数量的进程运行
- 不增加操作系统调度难度, 节省开关进程时间, 实现并发
- 资源进程
- 预先创建好的空闲进程, 管理进程会将工作发到空闲进程处理
- 管理进程
- 负责创建资源进程, 将工作交给空闲进程处理, 回收已处理完工作的资源进程