我在网上读到了非常矛盾的信息来源,关于信号量是否可以具有非零值。在某些实现中,这似乎表示等待线程的数量,但我似乎无法得到这个。如果我理解正确,计数值表示有多少打开的“槽”。首先,如果信号量阻止等待呼叫直到计数为正,我看不出你如何能有负槽。我也没有看到等待线程的数量与打开的插槽数量有什么关系。在这些情况下,计数器变量的负值如何工作?
请参阅此video,了解他如何解释具有负值的信号量。
答案 0 :(得分:0)
请引用来源或粘贴一些代码。
信号量通常是二进制的,意味着它们的值为0或1。
count
?一般来说,count
可以是等待线程的数量。我不明白你提到的插槽。