linux下的c语言编程步骤 在生产者 - 消费者问题中,如果缺少了signal(full) 或signal(empty) ,对执行结果将会有何影响?
浏览量:2220
时间:2021-03-12 11:52:45
作者:admin
在生产者 - 消费者问题中,如果缺少了signal(full) 或signal(empty) ,对执行结果将会有何影响?
如果signal(full)丢失,则表示自第一个生产者进程以来,信号量full值未更改。
即使缓冲池产品已满,full值仍为0,因此消费者进程在执行wait(full)]时认为缓冲池为空,无法获取产品,因此消费者进程被忽略总是在等待。
如果缺少信号(空),则在生产者进程用产品填充n个缓冲区后,使用者进程将开始从中提取产品。此时,empty=0,full=n,然后每次使用者进程获取产品时,空值都不会更改
直到缓冲池为空,空值也为0。即使缓冲池中有n个空缓冲区,生产者进程也必须
返回缓冲池产品发布也会被阻止,因为应用程序无法到达空缓冲区。
linux下的c语言编程步骤 linux课程设计报告 java生产者消费者问题
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。