Algorithm 有人能用产品价值表解释生产者和消费者吗?
每个人都使用的 我真的不明白p,V的意思 它首先说 消费者必须等待生产商生产某些产品,如果 队列为空 但后来它说 例如。单个消费者进入其关键部分。自从 fullCount为0,使用者阻塞Algorithm 有人能用产品价值表解释生产者和消费者吗?,algorithm,semaphore,producer-consumer,Algorithm,Semaphore,Producer Consumer,每个人都使用的 我真的不明白p,V的意思 它首先说 消费者必须等待生产商生产某些产品,如果 队列为空 但后来它说 例如。单个消费者进入其关键部分。自从 fullCount为0,使用者阻塞 我想阻塞意味着等待?我的家庭作业要求我理解这种二进制信号量的使用,然后为不同类型的生产者-消费者问题实现解决方案。但我不知道何时递增(在P和V中设置哪个共享变量)或递减。所以我希望有知识渊博的人能给我解释一下?如果可以的话,请将我视为非cs学生?如果fullCount信号量为0,并且使用者执行p(fullCou
我想阻塞意味着等待?我的家庭作业要求我理解这种二进制信号量的使用,然后为不同类型的生产者-消费者问题实现解决方案。但我不知道何时递增(在P和V中设置哪个共享变量)或递减。所以我希望有知识渊博的人能给我解释一下?如果可以的话,请将我视为非cs学生?如果fullCount信号量为0,并且使用者执行p(fullCount),它将阻止(等待),直到生产者通过执行V(fullCount)来增加信号量 消费者和生产者都使用p(useQueue)来确保他们拥有更改队列的独占权。完成更改后,他们将执行V(useQueue)再次释放队列
如果这不能回答您的问题,我想您需要更好地说明您的问题。想象一对夫妇搬进一所房子 他们有一辆装满箱子的卡车需要卸到房子里 所以他们决定分开工作
- 制片人保罗说他会把箱子从卡车上拿下来,排好队 在人行道上
- Charlie Consumer说他会把箱子从人行道上拿下来 把它们放进房子里
- 有时生产者(保罗、彼得)仍然超过消费者, 人行道上挤满了人,男人们不得不站在箱子旁边
- 有时消费者(查理、康拉德、卡尔)超过了生产者 他们站在人行道上,而不是在屋里收拾东西
waitFor(spaceOnSideWalk)
waitFor(permissionToUseSideWalk))
dropBoxOnSidewalk(box)
nowSomeoneElseCanUse(permissionToUseSideWalk))
nowSomeoneElseCanUse(boxesOnSideWalk)
(和查理/卡尔/康拉德互补)
如果你想到
waitFor == decrement == P
nowSomeoneElseCanUse == increment == V
然后你就可以在wikipedia页面上找到正确的alogrithm了。你读过从信号量页面链接的页面了吗?它可能会回答你的问题。谢谢。非常清楚!非常有用。现在我开始讲这个了。我还是回来读它作为参考:D