在Netty ZlibEncoder中进行线程处理

时间:2012-04-06 20:19:46

标签: netty

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

感谢

戴夫

1 个答案:

答案 0 :(得分:1)

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