gpt4 book ai didi

java - 生产者消费者模式完成信号

转载 作者:行者123 更新时间:2023-11-29 05:43:50 28 4
gpt4 key购买 nike

我有一个应用生产者-消费者设计模式的应用程序。 IT 是用 Java 编写的。简而言之,生产者将项目放入阻塞队列中,消费者从那里取走它们。消费者应该一直运行,直到生产者发出停止信号。

将此信号从生产者传递给消费者的最佳方式是什么?首席设计师说他希望将生产者和消费者分开,但除了在消费者线程池上调用方法外,我看不到任何其他方法吗?

最佳答案

首席程序员是对的。将它们分开会导致代码高度解耦,这非常好。

有几种方法可以做到这一点。其中之一叫做毒丸。它是这样工作的 - 当消费者看到该项目时,将一个已知项目放在队列中,他们会自杀或采取其他行动。

如果有多个消费者(您提到了线程池)或有界队列,这可能会很棘手。请在 Joshua Bloch 的 Java Concurrency in Practice 中查找。他解释得最好。

关于java - 生产者消费者模式完成信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16514142/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com