ProcessorContext.schedule是线程安全的吗?

时间:2019-08-02 01:53:28

标签: apache-kafka apache-kafka-streams

我想知道ProcessorContext.schedule是否是线程安全的,以便我可以生成新线程来执行Punctuator回调? 另外,如果使用者仅使用1个分区,但是我们设置了num.stream.threads=2。这会自动为调度程序生成新线程吗?

稍作尝试后,我发现答案可能是“否”。 那么,为调度程序线程安全生成新线程的推荐方法是什么?

1 个答案:

答案 0 :(得分:1)

注册标点符号不会产生新线程。使用的线程数仅由num.stream.threads配置决定。因此,如果您注册标点符号,则标点符号将在与拓扑相同的线程上执行,因此是线程安全的。

如果配置的线程多于可用的输入主题分区,则某些线程将不会分配任何工作,因此它们将不会执行任何标点符号。