2012-04-06 9 views
1

Ich arbeite an der Erstellung eines Snappy Encoders und Decoders für Netty. Ich schaue auf ZlibEncoder, um zu sehen, wie es implementiert wird, aber bemerkte, dass ChannelHandlerContext flüchtig ist, fertig ist ein AtomicBoolean und z (ZStream) hat einen Sync-Block. Meine Frage ist warum? Da für jeden Kanal ein neuer ZlibEncoder erstellt wird, warum werden diese benötigt?Threading in Netty ZlibEncoder

dank

dave

Antwort

1

Sein notwendig, weil nachgeschaltete Ereignisse triggeres von jedem Thread sein kann (zum Beispiel schreibt). Upstream-Ereignisse werden nur von einem Thread ausgeführt und werden daher dort nicht benötigt (ein Decoder verarbeitet nur Upstream-Ereignisse)

+0

Ah, das macht Sinn. Danke Norman! – stampy88

+0

BTW, ich denke, wir wären an einem Snappy-Decoder interessiert. Also, wenn Sie sich für einen Beitrag interessieren, würde ich mich freuen, es zu überprüfen und ziehen Sie es für die nächste Veröffentlichung in netty;) –

+0

Klingt gut. Ich werde dich wissen lassen, wann es fertig ist. – stampy88