生产者消费终止
回答
从Java Concurrency in Practice Book 7.2.3
Another way to convince a producer consumer service to shut down is with a poison pill: a recognizable object placed on the queue that means "when you get this, stop."
去通过这本书的第7章Cancellation and Shutdown
有了这个解决方案,很容易看出生产者如何告诉消费者停止,但相反呢? – 2013-03-21 17:02:37
正是。如果消费者停止接受,而生产者不知道等待消费者接受呢? – user1377000 2013-03-21 17:22:00
如何使用显示器...? – user1377000 2013-03-21 18:47:41
您可以制作者通过在队列中放置一个带毒邮件,当终止消费消费者接收到它认识到消息是生产者关闭的消息,并相应地关闭它。
在特定情况下消费者与生产者之间的沟通是不可能的,您将不得不建立另一个沟通渠道,因为沟通目前只有一种方式。
您可以使用Exchanger实例进行直接(无队列)通信,然后可以同时传递毒害消息,尽管您现在有一个直接链接的进程对而不是独立的生产者/消费者对。
最后,你可以用一个管理员注册所有的生产者和消费者,他们都有一个引用,任何生产者/消费者都可以请求关闭,这会设置一个标志,然后全部检查标志,或者响应InterruptedException并且管理器向它们中的每一个发送中断。
- 1. 生产者消费者阻止队列
- 2. Java生产者 - 消费者:生产者不“通知()”消费者
- 3. java生产者 - 消费者不总是终止
- 4. 生产消费者
- 5. 生产者 - 消费;消费者如何停止?
- 6. 生产者/消费者
- 7. 生产者消费者
- 8. POSIX生产者 - 消费者
- 9. Clojure生产者消费者
- 10. LinkedBlockingQueue - 生产者/消费者
- 11. Scala生产者 - 消费者
- 12. 生产者,消费者POSIX
- 13. 生产者 - 消费者多个生产者多个队列单个消费者
- 14. 生产者消费者请求取消
- 15. 消费者生产者多线程消费者不会消逝
- 16. 单生产者/消费者循环缓冲区,只阻止消费者
- 17. 消费者过滤的生产者 - 消费者阻塞队列
- 18. 生产者/消费者线程中的油门消费者
- 19. 终止了生产者消费者设置的使用wait和notify
- 20. JBOSS 7.1中队列的JMS生产者/消费者最终
- 21. 生产者 - 消费者模型的最终条件
- 22. 生产者 - 消费者产生一个项目,并立即进行消费(JAVA)
- 23. 实现生产者消费者模式
- 24. .NET生产者 - 消费者问题
- 25. ActiveMQ一个生产者多消费者
- 26. java线程:生产者 - 消费者
- 27. 多线程生产者/消费者
- 28. 生产者/消费者,像蟒蛇
- 29. C生产者 - 消费者使用PThreads
- 30. 生产者/消费者JMX指标
给消费者提供生产者参考,反之亦然。 – 2013-03-21 16:52:45