对计数型信号量S执行V操作后,下列选项错误的是( )。 Ⅰ.当S.value≤0寸,唤醒一个阻塞队列进程 Ⅱ.只有当S.value<0寸,唤醒一个阻塞队列进程 Ⅲ.当S.value≤0时,唤醒一个就绪队列进程 Ⅳ.只有当S.value<0时,唤醒一个

admin2019-07-18  39

问题 对计数型信号量S执行V操作后,下列选项错误的是(    )。
Ⅰ.当S.value≤0寸,唤醒一个阻塞队列进程
Ⅱ.只有当S.value<0寸,唤醒一个阻塞队列进程
Ⅲ.当S.value≤0时,唤醒一个就绪队列进程
Ⅳ.只有当S.value<0时,唤醒一个就绪队列进程

选项 A、Ⅱ、Ⅲ
B、Ⅱ、Ⅲ、Ⅳ
C、Ⅰ、Ⅲ
D、Ⅰ、Ⅲ、Ⅳ

答案B

解析 Ⅰ正确。当执行V操作后,S.value≤0,说明了在执行V操作之前S.value<0(此时S.value的绝对值就是阻塞队列中进程的个数),所以阻塞队列必有进程在等到,所以需要唤醒一个阻塞队列的进程。
    Ⅱ错误。由I的分析可知,S.value≤0就会唤醒。因为可能在执行V操作前,只有一个进程在阻塞队列,也就是说S.vatue=-1,执行V操作后,唤醒该阻塞进程,S.value=0。
    Ⅲ和Ⅳ错误。S.value的值和就绪队列中的进程没有此层关系,所以全错。
    综上所述,本题选B。
转载请注明原文地址:https://kaotiyun.com/show/uRCi777K
0

最新回复(0)