生產者消費終止
回答
從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