ActiveMQ C++消费者线程终止处理耗时过长问题求助
ActiveMQ C++消费者线程终止处理耗时过长问题求助
各位技术大佬们好,我最近碰到个棘手的问题,想过来求助一下:
Context
我开发了一个作为唯一消费者的应用,它监听着一个消息队列。每当有消息到达时,我会通过ExecutorService申请一个新线程来执行消息里指定的任务,任务完成后线程就会被释放。
下面是相关的代码片段:
void MqConsumer::onMessage(const cms::Message *message) { try { const auto *byteMessage = dynamic_cast<const cms::BytesMessage *>(message); if (byteMessage == nullptr) return; // 后续任务处理逻辑略 } catch(const std::exception& e) { // 异常处理逻辑略 } }
现在的问题是,线程终止阶段的处理耗时特别长,我暂时摸不到头绪,想问问大家有没有遇到过类似的情况,或者有什么排查思路可以分享给我?
备注:内容来源于stack exchange,提问作者Thomas
相关产品推荐
相关产品推荐

