查看更多
当前 - 选择题 - 进程管理
困难
单选题
2025年11月第45题
#操作系统
#进程管理
#第二版教材
#凯恩建议必须掌握

两个线程共享一个临界资源,使用互斥信号量(mutex semaphore)进行同步控制。若此时互斥信号量的值为 -1,则说明(__)。

问题(1)
正确答案C
凯恩解析

本题考察的是信号量(Semaphore)机制中互斥信号量的工作原理
在操作系统并发控制中,信号量(Semaphore) 用于协调多个进程或线程对共享资源的访问,防止出现“临界区冲突”。信号量初始值和临界资源数量有关,一个临界资源,信号量初始为 1,表示只有 1 个资源可用。依次类推,两个临界资源,信号量初始为2,表示只有2个资源可用。

另外信号量基本操作为:
P(wait)操作:S = S - 1,若结果 < 0,则表示资源不可用,当前线程需等待。
V(signal)操作:S = S + 1,若结果 ≤ 0,则唤醒等待队列中的一个线程。

那么,在此题中,信号量S初始值为 1,若只被一个资源占用,那么此时信号量就是 1-1= 0。若还有一个进程来请求,此时信号量就为 S(0) - 1 = -1 。和题意相符。

说明,此时 有 1 个线程正在等待资源, 有 1 个线程已占用资源
因此,一个线程正在临界区,另一个线程在等待进入
因此,正确答案为 C。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有