gpt4 book ai didi

java - 生产者消费者模式——处理生产者失败

转载 作者:行者123 更新时间:2023-11-29 07:14:55 27 4
gpt4 key购买 nike

我有一个像下面这样的生产者/消费者模式

  • 固定数量的生产者线程,每个都写入自己的 BlockingQueue,通过 Executor 调用
  • 单个消费者线程,读取生产者线程

每个生产者都在运行数据库查询并将结果写入其队列。消费者轮询所有生产者队列。目前,如果出现数据库错误,生产者线程将终止,然后消费者将永远停滞在产品队列中等待更多结果。

我应该如何构建它以正确处理捕获错误?

最佳答案

我曾经做过类似的事情,并决定使用一个哨兵值,垂死的生产者线程将从 catch block 插入队列。您可以推送异常本身(这适用于大多数情况),或者为此设置一个特殊对象。无论如何,为了调试目的将异常推送给消费者是很好的。

关于java - 生产者消费者模式——处理生产者失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10446598/

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