【发布时间】:2017-03-01 08:59:02
【问题描述】:
我的书上的答案是 x。
但这怎么可能呢? 我刚刚从Differnce between Counting and Binary Semaphores 了解到,计数信号量具有正值,以便多个进程可以访问临界区。所以,在那种情况下 - 怎么能说 x 个进程正在等待,因为在达到 0 时,下一个等待信号将忙于等待一个进程,并且信号量值永远不会小于 0。
现在,我认为可能是第二种情况。就像计数信号量被初始化为 1。现在,当一个进程访问它时,它变为 0。接下来如果我们写入,则等待,
while(s <= 0);
然后下一个进程将使其变为-1。因此,单个进程等待会使信号量值 -1。
因此我可以得出结论,对于 -x,x 个进程正在忙于等待!
有人可以澄清我是对还是错?任何帮助表示赞赏。提前致谢。
【问题讨论】:
标签: operating-system ipc semaphore