有 3 个进程共享一程序段,而每次最多允许两个进程进入该程序段,则信号量的取值范围是( )。
- A.2,1,0,-1
- B.3,2,1,0
- C.2,1,0,-1,-2
- D.1,0,-1,-2
正确答案及解析
正确答案
A
解析
若每次最多允许 2 个进程进入该程序段,则信号量的初值可设为 2,也是信号量的最大值;若 2 个进程已进入该程序段,还有 1 个进程在等待队列中时,信号量的值可为-1,也就是信号量的最小值,即信号量的范围为[-1,2],故选 A。
有 3 个进程共享一程序段,而每次最多允许两个进程进入该程序段,则信号量的取值范围是( )。
若每次最多允许 2 个进程进入该程序段,则信号量的初值可设为 2,也是信号量的最大值;若 2 个进程已进入该程序段,还有 1 个进程在等待队列中时,信号量的值可为-1,也就是信号量的最小值,即信号量的范围为[-1,2],故选 A。