2016 - 2024

感恩一路有你

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生产者消费者问题

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。