在librdkafka中,dr_cb在produce()线程或poll()线程上执行



>我有不同的线程来生成发送给 Kafka 的消息和其他线程,该线程仅轮询 Kafka 以检查交付报告或事件。

问题是,dr_cb(( 方法将在哪个线程上执行?它会在原始生产线程还是轮询线程上执行?

如果在原始生产线程上调用dr_cb,它会中断当前执行吗?

当应用程序调用rd_kafka_poll()rd_kafka_flush()时,传递报告回调以及大多数其他回调(log_cb是一个例外(从应用程序线程触发。

这在介绍文档中进行了解释。

最新更新