2.2 实现缓冲区互斥的基本方法
软件实现方法
硬件实现方法
2.3.3 互斥锁
下面用互斥锁解决经典同步问题
2.3.4 信号量
经典同步问题(做大题再看)
2.3节选择题
皮特森算法:flag实现互斥,turn避免饥饿,选D
x=1
2
2
1
2
1
1
0
选C
选C 局部变量不用互斥 进程P1和P2是不同的进程 所以x是无关的
A负责唤醒处于就绪态的进程 while(就绪/运行)
B轮询 选B
C违背
D 不是说是硬件不会被中断吗?(存疑)
答案:if无法被中断,while一直TRUE时,系统可能会终止
x=0
123456
456123
选B
A 同步
B 是x.signal
C x没有值
D对
C.if 资源不够 进入阻塞态
A 皮特森 turn解决饥饿 不会一直等待 有限等待 有while 没有做到让权等待
在这里插入图片描述
I 互斥
II 空闲让进
III 有限等待
IIII 忙则等待 (有的会一直占用处理机) 不一定非得实现 如皮特森算法
选C