如何解决生产者完成生产后,进程是否有可能卡在消费者身上?
我在考虑消费者和生产者的问题。假设您有两个信号量,一个用于跟踪空间数量(sem_t 空间),另一个用于跟踪缓冲区中的项目数量(sem_t 项目)。现在有多个生产者是消费者。
如果缓冲区为空(意味着没有物品),多个消费者进程将不得不等待生产者生产更多物品。假设生产者完成了最后一项(post(items))的生产,这样生产者就不再被调用了。
现在是否只有 1 个消费者能够传递信号量 (wait(items)),而由于生产者停止生产,其余的信号量仍将停留在 wait(items) 上?这是一种可能性吗?如何解决这个问题?
对不起,如果这没有任何意义。我只是在想这个问题。如果我能以任何方式澄清,请告诉我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。