1.基础
1.1线程与进程:
进程:
-
程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在
指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的
-
将代码从磁盘加载到内存
-
进程可以认为是一个应用启动
相同计算机进程间通信?好像是信号量、管道等,还没具体用过
不同计算机进程通信:如http协议
线程:
- 参照OS进程与线程:一个进程可以有多个线程,线程共享进程的堆、代码块、数据等
- 线程作为最小的资源分配单位,拥有独立的堆栈
- 上下文切换(保存线程现场信息,数据、堆栈信息)
1.2并发与并行
- 并行:多个线程同时进行工作
- 并发:宏观上多个线程进行工作,微观上处理机的分片使用(调度算法如时间轮转片等)