随笔杂记
并发——时间片轮转的抢占式调度方式
任务执行一小段时间叫做时间片
- 执行时为运行状态
等待时为就绪状态
一、进程
1、进程的特征
-
动态性:是程序的一次执行过程,临时产生有生命周期
-
并发性:任何进程都可同其他进程并发执行
-
独立性:进行是系统分配资源的独立单位
-
结构性:有程序、数据、进程控制块(PCB)组成
2、进程的生命周期
二、线程
1、线程与进程
-
线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元
-
一个进程可以有一个或多个线程,各线程之间共享该程序的内存空间
-
进程 = 内存(代码、数据…) + 一个或多个线程
线程 = 线程ID + 当前指令指针(PC) + 寄存器 + 堆栈
2、线程的生命周期
- 线程的并发是真正的并发,不同线程运行在不同处理器上
三、线程优先级
-
时间片轮转调度
-
优先级调度:高优先级执行线程结束,才执行低优先级线程
-
CPU密集型的线程容易出现“线程饿死”
IO密集型则不易出现-
IO密集型改变线程优先级
-
用户指定优先级
-
根据进入等待状态的频繁程度,而由系统改变
-
长时间得不到执行而提升
-
-
四、多线程与多核
-
多核处理器的每一个处理核心对应一个内核线程
-
超线程技术将一个物理处理核心模拟成两个逻辑处理核心
-
程序一般不会直接用内核线程,而使用内核线程的一种高级接口——轻量级进程
-
用户线程与内核线程的对应关系:
- 一对一模型
- 多对一模型