1

我正在为 Netty 创建一个 Snappy 编码器和解码器。我正在查看 ZlibEncoder 以了解它是如何实现的,但注意到 ChannelHandlerContext 是可变的,finished 是 AtomicBoolean,并且 z (ZStream) 有一个同步块。我的问题是为什么?既然为每个通道创建了一个新的 ZlibEncoder,为什么需要这些?

谢谢

戴夫

4

1 回答 1

1

它是必需的,因为下游事件可以由任何线程触发(例如写入)。上游事件仅由一个线程执行,因此在那里不需要(解码器仅处理上游事件)

于 2012-04-07T07:11:56.450 回答