gpt4 book ai didi

apache-flink - 为什么flink中的stateful source需要同步锁

转载 作者:行者123 更新时间:2023-12-04 15:42:20 25 4
gpt4 key购买 nike

我正在阅读这里的 flink 示例 https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/stream/state/state.html , 也搞不清楚synchronized block 存在的意义。

我在 google 上搜索了很多但找不到有用的答案,从 flink 的文档中,对于每个并行度都会有一个状态实例,并且在 CounterSource< 的一个实例中还有 run 方法/strong> 不会被不同的线程调用,所以下面的代码有什么意义

val lock = ctx.getCheckpointLock

while (isRunning) {
// output and state update are atomic
lock.synchronized({
ctx.collect(offset)

offset += 1
})
}

最佳答案

检查点发生在另一个线程中。此锁的目的是防止源在检查点拍摄状态快照时修改其状态。

关于apache-flink - 为什么flink中的stateful source需要同步锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57391309/

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